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、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 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]]})

(3)返回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]]})
# 有序字典
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)