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

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

基于python实现自动化办公学习笔记(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
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)
0001.csv" writecsv(path, [[1, 2, 3], [4, 5, 6], [7, 8, 9]])

(2)读csv文件

2、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
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
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("pythonn")
  # 存储文件
  doc.SaveAs(path)
  doc.Close()
  word.Quit()


names = ["张三", "李四", "王五"]
for name in names:
  path = os.path.join(os.getcwd(), name)
  makeWordFile(path, name)
1.docx" topath = r"E:\Python\py17\Keyboardtext\a.txt" readWordFiletootherFile(path, topath)
1.docx" readWordFile(path)

(1)读word文件

3、Excel

(2)读取doc并写入word

# 有序字典
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)创建word文件

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
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\automatictext4、PPT1.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
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)
1.xlsx" dic = readXlsAndXlsxFile(path) print(dic) print(len(dic))
1.xlsx" readXlsxFile(path)

5、PDF

(1)写xls文件

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)

(2)读xls文件

(3)返回xls数据


(1)写PPT

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3259732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-04
下一篇 2022-10-04

发表评论

登录后才能评论

评论列表(0条)

保存