基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
作者:Yohance.✔
这篇文章主要介绍了基于python实现自动化办公学习笔记,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
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): # 调用系统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的数据保存在另一个文件 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文件
import win32com import win32com.client import os def makeWordFile(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 = ["张三", "李四", "王五"] for name in names: path = os.path.join(os.getcwd(), name) makeWordFile(path, name)
3、Excel
(1)写xls文件
# 有序字典 from collections import OrderedDict # 存储数据 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): # 拿数据 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数据
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) # 一张表的所有数据 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) # 将一张表的数据存到字典 dic[sheetName] = sheetInfo return dic path = r"E:\\Python\\py17\\automatictext\\001.xlsx" dic = readXlsxFile(path) print(dic) # 有序字典 from collections import OrderedDict # 读取数据 from pyexcel_xls import get_data def readXlsAndXlsxFile(path): dic = OrderedDict() # 抓取数据 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() # 创建页 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() # 创建页 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)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。