您的位置:首页 > 编程语言 > Python开发

基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)

2019-08-06 11:48 756 查看

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)

以上就是本文的全部内容,希望对大家的学习有所帮助

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 自动化办公
相关文章推荐