家庭宽带做网站服务器吗,凡客还在吗,前端做网站都要做哪些,企业网站模板上一品资源文章目录 前言一、环境安装二、使用步骤1.引入库2.读入数据 Python-docx 编辑已存在文档win32com 将 doc 转为 docxwin32com 操作 word总结 前言
使用Python操作word大部分情况都是写操作#xff0c;也有少许情况会用到读操作#xff0c;在本次教程中都会进行讲解#xff0… 文章目录 前言一、环境安装二、使用步骤1.引入库2.读入数据 Python-docx 编辑已存在文档win32com 将 doc 转为 docxwin32com 操作 word总结 前言
使用Python操作word大部分情况都是写操作也有少许情况会用到读操作在本次教程中都会进行讲解本次课程主要用到以下4个库请大家提前安装。
一、环境安装
升级pip便于安装最新库
python -m pip install -U pip setuptools python-docx我们大部分操作都是使用此库
安装方法
pip install python-docx 使用方法
from docx import Document from docx.shared import Inches 官方文档
https://python-docx.readthedocs.io/en/latest/index.html
win32com主要用作doc转docx格式转换用
安装方法
pip install pypiwin32 使用方法
import win32com from win32com.client import Dispatch, constants 官方文档
https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.word?viewword-pia
mailmerge用作按照模板生成大量同类型文档
安装方法
pip install docx-mailmerge
使用方法
from mailmerge import MailMerge 官方文档
https://pypi.org/project/docx-mailmerge/
matplotlibPython 的绘图库本期简单讲解后期会有专门的课程
安装方法
pip install matplotlib
使用方法
import matplotlib.pyplot as plt 官方文档
https://matplotlib.org/3.2.2/tutorials/introductory/sample_plots.html
二、使用步骤
1.引入库
例代码1
from docx import Document
document Document()
document.save(new.docx)效果如下
2.读入数据
代码如下示例
data pd.read_csv(https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv)
print(data.head())该处使用的url网络请求的数据。 示例代码 0.1 Python-docx新建文档.py
from docx import Documentdef GenerateNewWord(filename):document Document()document.save(filename)if __name__ __main__:print(大家好我们今天开始学习word文档自动化)print(我们先来直接生成一个名为‘new.docx’的文档)document Document()document.save(new.docx)print(没错里面什么都没有)# 我是华丽的分隔符print(我们使用函数生成一个word文档试试)newname 使用函数生成的文档.docxGenerateNewWord(newname)Python-docx 编辑已存在文档
我们很多时候需要在已存在的word文档上添加自己的内容那么我们赶紧看看应该怎样操作吧~
旧文档 也许你会说没有没搞错就这三句话是的就这三句你就完成了旧文档的复制如果你想修改直接添加内容就行了呢
效果如下
win32com 将 doc 转为 docx 示例代码
import os
from win32com import client as wcdef TransDocToDocx(oldDocName,newDocxName):print(我是 TransDocToDocx 函数)# 打开word应用程序word wc.Dispatch(Word.Application)# 打开 旧word 文件doc word.Documents.Open(oldDocName)# 保存为 新word 文件,其中参数 12 表示的是docx文件doc.SaveAs(newDocxName, 12)# 关闭word文档doc.Close()word.Quit()print(生成完毕)if __name__ __main__:# 获取当前目录完整路径currentPath os.getcwd()print(当前路径为,currentPath)# 获取 旧doc格式word文件绝对路径名docName os.path.join(currentPath,旧doc格式文档.doc)print(docFilePath , docName)# 设置新docx格式文档文件名docxName os.path.join(currentPath,新生成docx格式文档.docx)TransDocToDocx(docName,docxName)效果如下
win32com 操作 word
打开新的word文档并添加内容
示例代码
import win32com
from win32com.client import Dispatch, constants
import os# 创建新的word文档
def funOpenNewFile():word Dispatch(Word.Application)# 或者使用下面的方法使用启动独立的进程# word DispatchEx(Word.Application)# 如果不声明以下属性运行的时候会显示的打开wordword.Visible 1 # 0:后台运行 1:前台运行(可见)word.DisplayAlerts 0 # 不显示不警告# 创建新的word文档doc word.Documents.Add()# 在文档开头添加内容myRange1 doc.Range(0, 0)myRange1.InsertBefore(Hello word\n)# 在文档末尾添加内容myRange2 doc.Range()myRange2.InsertAfter(Bye word\n)# 在文档i指定位置添加内容i 0myRange3 doc.Range(0, i)myRange3.InsertAfter(whats up, bro?\n)# doc.Save() # 保存doc.SaveAs(os.getcwd() \\funOpenNewFile.docx) # 另存为doc.Close() # 关闭 word 文档word.Quit() # 关闭 officeif __name__ __main__:print(当前文件路径名,os.getcwd())print(调用funOpenNewFile())funOpenNewFile()打开已存在word文档并添加内容
前提条件
import win32com
from win32com.client import Dispatch, constants
import os# 打开已存在的word文件
def funOpenExistFile():word Dispatch(Word.Application)# 或者使用下面的方法使用启动独立的进程# word DispatchEx(Word.Application)# 如果不声明以下属性运行的时候会显示的打开wordword.Visible 1 # 0:后台运行 1:前台运行(可见)word.DisplayAlerts 0 # 不显示不警告doc word.Documents.Open(os.getcwd() \\3.1 win32com测试.docx) # 打开一个已有的word文档# 在文档开头添加内容myRange1 doc.Range(0, 0)myRange1.InsertBefore(Hello word\n)# 在文档末尾添加内容myRange2 doc.Range()myRange2.InsertAfter(Bye word\n)# 在文档i指定位置添加内容i 0myRange3 doc.Range(0, i)myRange3.InsertAfter(whats up, bro?\n)# doc.Save() # 保存doc.SaveAs(os.getcwd() \\funOpenExistFile.docx) # 另存为doc.Close() # 关闭 word 文档word.Quit() # 关闭 officeif __name__ __main__:print(当前文件路径名,os.getcwd())print(调用funOpenExistFile())funOpenExistFile()效果如下
总结
以上就是今天要讲的内容本文仅仅简单介绍了办公自动化的使用。