基于python實(shí)現(xiàn)自動化辦公學(xué)習(xí)筆記(CSV、word、Excel、PPT)
1、CSV
(1)寫csv文件
import csv
def writecsv(path,data):
with open(path, "w") as f:
writer = csv.writer(f)
for rowData in data:
print("rowData=", rowData)
writer.writerow(rowData)
path = r"E:\\Python\\py17\\automatictext\\000001.csv"
writecsv(path, [[1, 2, 3], [4, 5, 6], [7, 8, 9]])
(2)讀csv文件
import csv
def readcev(path):
infolist = []
with open(path, "r") as f:
allFile = csv.reader(f)
for row in allFile:
infolist.append(row)
return infolist
path = r"E:\\Python\\py17\\automatictext\\PCB3.csv"
info = readcev(path)
2、word文件
(1)讀word文件
import win32com
import win32com.client
def readWordFile(path):
# 調(diào)用系統(tǒng)word功能,可以處理doc和docx兩種文件
mw = win32com.client.Dispatch("Word.Application")
# 打開文件
doc = mw.Documents.Open(path)
for paragraph in doc.Paragraphs:
line = paragraph.Range.Text
print(line)
doc.Close()
mw.Quit()
path = r"E:\\Python\\py17\\Keyboardtext\\001.docx"
readWordFile(path)
(2)讀取doc并寫入word
import win32com
import win32com.client
def readWordFiletootherFile(path, topath):
mw = win32com.client.Dispatch("Word.Application")
doc = mw.Documents.Open(path)
# 將word的數(shù)據(jù)保存在另一個(gè)文件
doc.SaveAs(topath, 2)
doc.Close()
mw.Quit()
path = r"E:\\Python\\py17\\Keyboardtext\\001.docx"
topath = r"E:\\Python\\py17\\Keyboardtext\\a.txt"
readWordFiletootherFile(path, topath)
(3)創(chuàng)建word文件
import win32com
import win32com.client
import os
def makeWordFile(path, name):
word = win32com.client.Dispatch("Word.Application")
# 讓文檔可見
word.Visible = True
# 創(chuàng)建文檔
doc = word.Documents.Add()
# 寫內(nèi)容從頭開始寫
r = doc.Range(0, 0)
r.InsertAfter("你好," + name + "\n")
r.InsertAfter("python\n")
# 存儲文件
doc.SaveAs(path)
doc.Close()
word.Quit()
names = ["張三", "李四", "王五"]
for name in names:
path = os.path.join(os.getcwd(), name)
makeWordFile(path, name)
3、Excel
(1)寫xls文件
# 有序字典
from collections import OrderedDict
# 存儲數(shù)據(jù)
from pyexcel_xls import save_data
def makeExcelFile(path, data):
dic = OrderedDict()
for sheetNum, sheetValue in data.items():
d = {}
d[sheetNum] = sheetValue
dic.update(d)
save_data(path, dic)
path = r"E:\\Python\\py17\\automatictext\\b.xlsx"
makeExcelFile(path, {"表1": [[1, 2, 3], [4, 5, 6], [7, 8, 9]],
"表2": [[11, 22, 33], [44, 55, 66],
[77, 88, 99]]})
(2)讀xls文件
from openpyxl.reader.excel import load_workbook
def readXlsxFile(path):
file = load_workbook(filename=path)
print(file.get_sheet_names)
sheets = file.get_sheet_names()
sheet = file.get_sheet_by_name(sheets[0])
for lineNum in range(1, sheet.max_row + 1):
lineList = []
print(sheet.max_row, sheet.max_column)
for columnNum in range(1, sheet.max_column + 1):
# 拿數(shù)據(jù)
value = sheet.cell(row=lineNum,
column=columnNum).value
if value != None:
lineList.append(value)
print(lineList)
path = r"E:\\Python\\py17\\automatictext\\001.xlsx"
readXlsxFile(path)
(3)返回xls數(shù)據(jù)
from openpyxl.reader.excel import load_workbook
def readXlsxFile(path):
dic = {}
file = load_workbook(filename=path)
sheets = file.get_sheet_names()
print(len(sheets))
for sheetName in sheets:
sheet = file.get_sheet_by_name(sheetName)
# 一張表的所有數(shù)據(jù)
sheetInfo = []
for lineNum in range(1, sheet.max_row + 1):
lineList = []
for columnNum in range(1, sheet.max_column + 1):
value = sheet.cell(row=lineNum,
column=columnNum).value
lineList.append(value)
sheetInfo.append(lineList)
# 將一張表的數(shù)據(jù)存到字典
dic[sheetName] = sheetInfo
return dic
path = r"E:\\Python\\py17\\automatictext\\001.xlsx"
dic = readXlsxFile(path)
print(dic)
# 有序字典
from collections import OrderedDict
# 讀取數(shù)據(jù)
from pyexcel_xls import get_data
def readXlsAndXlsxFile(path):
dic = OrderedDict()
# 抓取數(shù)據(jù)
xdata = get_data(path)
for sheet in xdata:
dic[sheet] = xdata[sheet]
return dic
path = r"E:\\Python\\py17\\automatictext\\001.xlsx"
dic = readXlsAndXlsxFile(path)
print(dic)
print(len(dic))
4、PPT
(1)寫PPT
import win32com
import win32com.client
def makeppt(path):
ppt = win32com.client.Dispatch("PowerPoint.Application")
ppt.Visible = True
pptFile = ppt.Presentations.Add()
# 創(chuàng)建頁
page1 = pptFile.Slides.Add(1, 1)
t1 = page1.Shapes[0].TextFrame.TextRange
t1.Text = "sunck"
t2 = page1.Shapes[1].TextFrame.TextRange
t2.Text = "sunck is a good man"
# 保存
pptFile.SaveAs(path)
pptFile.Close()
ppt.Quit()
path = r"E:\\Python\\py17\\automatictext\\sunk.ppt"
makeppt(path)
5、PDF
import win32com
import win32com.client
def makeppt(path):
ppt = win32com.client.Dispatch("PowerPoint.Application")
ppt.Visible = True
pptFile = ppt.Presentations.Add()
# 創(chuàng)建頁
page1 = pptFile.Slides.Add(1, 1)
t1 = page1.Shapes[0].TextFrame.TextRange
t1.Text = "sunck"
t2 = page1.Shapes[1].TextFrame.TextRange
t2.Text = "sunck is a good man"
# 保存
pptFile.SaveAs(path)
pptFile.Close()
ppt.Quit()
path = r"E:\\Python\\py17\\automatictext\\sunk.ppt"
makeppt(path)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python Pandas批量讀取csv文件到dataframe的方法
- python批量讀取txt文件為DataFrame的方法
- Python將列表數(shù)據(jù)寫入文件(txt, csv,excel)
- python將excel轉(zhuǎn)換為csv的代碼方法總結(jié)
- Python導(dǎo)出數(shù)據(jù)到Excel可讀取的CSV文件的方法
- python?pandas庫讀取excel/csv中指定行或列數(shù)據(jù)
- Python對CSV、Excel、txt、dat文件的處理
- python讀取和保存為excel、csv、txt文件及對DataFrame文件的基本操作指南
相關(guān)文章
使用python獲取csv文本的某行或某列數(shù)據(jù)的實(shí)例
下面小編就為大家分享一篇使用python獲取csv文本的某行或某列數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Python Pillow 圖像處理庫詳解(常用Pillow函數(shù)及其參數(shù))
Pillow,原名PIL(Python Imaging Library),是一個(gè)功能強(qiáng)大的Python圖像處理庫,支持多種格式,提供豐富的圖像操作功能,如旋轉(zhuǎn)、縮放、顏色轉(zhuǎn)換等,以及易于使用的API,Pillow支持廣泛的圖像文件格式,并提供圖像過濾、繪制等功能2024-09-09
經(jīng)驗(yàn)豐富程序員才知道的15種高級Python小技巧(收藏)
本文將介紹15個(gè)簡潔的Python技巧,向著簡潔更高效,學(xué)習(xí)易懂出發(fā),具說只有經(jīng)驗(yàn)豐富程序員才知道的15種高級Python小技巧,喜歡的朋友快來看看吧2021-10-10
Python繪制loss曲線和準(zhǔn)確率曲線實(shí)例代碼
pytorch雖然使用起來很方便,但在一點(diǎn)上并沒有tensorflow方便,就是繪制模型訓(xùn)練時(shí)在訓(xùn)練集和驗(yàn)證集上的loss和accuracy曲線(共四條),下面這篇文章主要給大家介紹了關(guān)于Python繪制loss曲線和準(zhǔn)確率曲線的相關(guān)資料,需要的朋友可以參考下2022-08-08
Python正則表達(dá)式re.compile()和re.findall()詳解
re?模塊提供了不少有用的函數(shù),用以匹配字符串,下面這篇文章主要給大家介紹了關(guān)于Python正則表達(dá)式re.compile()和re.findall()的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
基于Python?OpenCV和?dlib實(shí)現(xiàn)眨眼檢測
這篇文章主要介紹了基于Python?OPenCV及dlib實(shí)現(xiàn)檢測視頻流中的眨眼次數(shù)。文中的代碼對我們的學(xué)習(xí)和工作有一定價(jià)值,感興趣的同學(xué)可以參考一下2021-12-12
深度學(xué)習(xí)Tensorflow?2.4?完成遷移學(xué)習(xí)和模型微調(diào)
這篇文章主要為大家介紹了深度學(xué)習(xí)Tensorflow?2.4?完成遷移學(xué)習(xí)和模型微調(diào),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01

