基于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)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。