基于python實(shí)現(xiàn)自動(dòng)化辦公學(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") # 打開(kāi)文件 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") # 讓文檔可見(jiàn) word.Visible = True # 創(chuàng)建文檔 doc = word.Documents.Add() # 寫內(nèi)容從頭開(kāi)始寫 r = doc.Range(0, 0) r.InsertAfter("你好," + name + "\n") r.InsertAfter("python\n") # 存儲(chǔ)文件 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 # 存儲(chǔ)數(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)建頁(yè) 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)建頁(yè) 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)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(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庫(kù)讀取excel/csv中指定行或列數(shù)據(jù)
- Python對(duì)CSV、Excel、txt、dat文件的處理
- python讀取和保存為excel、csv、txt文件及對(duì)DataFrame文件的基本操作指南
相關(guān)文章
Python推導(dǎo)式簡(jiǎn)單示例【列表推導(dǎo)式、字典推導(dǎo)式與集合推導(dǎo)式】
這篇文章主要介紹了Python推導(dǎo)式,結(jié)合簡(jiǎn)單實(shí)例形式分析了Python列表推導(dǎo)式、字典推導(dǎo)式與集合推導(dǎo)式基本使用方法,需要的朋友可以參考下2018-12-12python中g(shù)etopt()函數(shù)用法詳解
這篇文章主要介紹了python中g(shù)etopt()函數(shù)用法,通過(guò)getopt模塊中的getopt(?)方法,我們可以獲取和解析命令行傳入的參數(shù),需要的朋友可以參考下2022-12-12Keras 利用sklearn的ROC-AUC建立評(píng)價(jià)函數(shù)詳解
這篇文章主要介紹了Keras 利用sklearn的ROC-AUC建立評(píng)價(jià)函數(shù)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06解決谷歌搜索技術(shù)文章時(shí)打不開(kāi)網(wǎng)頁(yè)問(wèn)題的python腳本
在用谷歌在搜索技術(shù)文章時(shí),總是時(shí)不時(shí)的打不開(kāi)網(wǎng)頁(yè),于是寫了一個(gè)python腳本,感覺(jué)用著還行,分享給大家2013-02-02