基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
1、CSV
(1)写csv文件
importcsv
defwritecsv(path,data):
withopen(path,"w")asf:
writer=csv.writer(f)
forrowDataindata:
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文件
importcsv defreadcev(path): infolist=[] withopen(path,"r")asf: allFile=csv.reader(f) forrowinallFile: infolist.append(row) returninfolist path=r"E:\\Python\\py17\\automatictext\\PCB3.csv" info=readcev(path)
2、word文件
(1)读word文件
importwin32com
importwin32com.client
defreadWordFile(path):
#调用系统word功能,可以处理doc和docx两种文件
mw=win32com.client.Dispatch("Word.Application")
#打开文件
doc=mw.Documents.Open(path)
forparagraphindoc.Paragraphs:
line=paragraph.Range.Text
print(line)
doc.Close()
mw.Quit()
path=r"E:\\Python\\py17\\Keyboardtext\\001.docx"
readWordFile(path)
(2)读取doc并写入word
importwin32com
importwin32com.client
defreadWordFiletootherFile(path,topath):
mw=win32com.client.Dispatch("Word.Application")
doc=mw.Documents.Open(path)
#将word的数据保存在另一个文件
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)创建word文件
importwin32com
importwin32com.client
importos
defmakeWordFile(path,name):
word=win32com.client.Dispatch("Word.Application")
#让文档可见
word.Visible=True
#创建文档
doc=word.Documents.Add()
#写内容从头开始写
r=doc.Range(0,0)
r.InsertAfter("你好,"+name+"\n")
r.InsertAfter("python\n")
#存储文件
doc.SaveAs(path)
doc.Close()
word.Quit()
names=["张三","李四","王五"]
fornameinnames:
path=os.path.join(os.getcwd(),name)
makeWordFile(path,name)
3、Excel
(1)写xls文件
#有序字典
fromcollectionsimportOrderedDict
#存储数据
frompyexcel_xlsimportsave_data
defmakeExcelFile(path,data):
dic=OrderedDict()
forsheetNum,sheetValueindata.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文件
fromopenpyxl.reader.excelimportload_workbook defreadXlsxFile(path): file=load_workbook(filename=path) print(file.get_sheet_names) sheets=file.get_sheet_names() sheet=file.get_sheet_by_name(sheets[0]) forlineNuminrange(1,sheet.max_row+1): lineList=[] print(sheet.max_row,sheet.max_column) forcolumnNuminrange(1,sheet.max_column+1): #拿数据 value=sheet.cell(row=lineNum, column=columnNum).value ifvalue!=None: lineList.append(value) print(lineList) path=r"E:\\Python\\py17\\automatictext\\001.xlsx" readXlsxFile(path)
(3)返回xls数据
fromopenpyxl.reader.excelimportload_workbook
defreadXlsxFile(path):
dic={}
file=load_workbook(filename=path)
sheets=file.get_sheet_names()
print(len(sheets))
forsheetNameinsheets:
sheet=file.get_sheet_by_name(sheetName)
#一张表的所有数据
sheetInfo=[]
forlineNuminrange(1,sheet.max_row+1):
lineList=[]
forcolumnNuminrange(1,sheet.max_column+1):
value=sheet.cell(row=lineNum,
column=columnNum).value
lineList.append(value)
sheetInfo.append(lineList)
#将一张表的数据存到字典
dic[sheetName]=sheetInfo
returndic
path=r"E:\\Python\\py17\\automatictext\\001.xlsx"
dic=readXlsxFile(path)
print(dic)
#有序字典
fromcollectionsimportOrderedDict
#读取数据
frompyexcel_xlsimportget_data
defreadXlsAndXlsxFile(path):
dic=OrderedDict()
#抓取数据
xdata=get_data(path)
forsheetinxdata:
dic[sheet]=xdata[sheet]
returndic
path=r"E:\\Python\\py17\\automatictext\\001.xlsx"
dic=readXlsAndXlsxFile(path)
print(dic)
print(len(dic))
4、PPT
(1)写PPT
importwin32com
importwin32com.client
defmakeppt(path):
ppt=win32com.client.Dispatch("PowerPoint.Application")
ppt.Visible=True
pptFile=ppt.Presentations.Add()
#创建页
page1=pptFile.Slides.Add(1,1)
t1=page1.Shapes[0].TextFrame.TextRange
t1.Text="sunck"
t2=page1.Shapes[1].TextFrame.TextRange
t2.Text="sunckisagoodman"
#保存
pptFile.SaveAs(path)
pptFile.Close()
ppt.Quit()
path=r"E:\\Python\\py17\\automatictext\\sunk.ppt"
makeppt(path)
5、PDF
importwin32com
importwin32com.client
defmakeppt(path):
ppt=win32com.client.Dispatch("PowerPoint.Application")
ppt.Visible=True
pptFile=ppt.Presentations.Add()
#创建页
page1=pptFile.Slides.Add(1,1)
t1=page1.Shapes[0].TextFrame.TextRange
t1.Text="sunck"
t2=page1.Shapes[1].TextFrame.TextRange
t2.Text="sunckisagoodman"
#保存
pptFile.SaveAs(path)
pptFile.Close()
ppt.Quit()
path=r"E:\\Python\\py17\\automatictext\\sunk.ppt"
makeppt(path)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。