对于批量操作合同文件,逐个去比对替换文件,复制粘贴是个很费劲的事,于是乎有了python自动化批量操作的这种神器.
工具原料:
- openpyxl模块–用于操作excel文档
- python-docx模块–用于操作word文档
- python3.9
- office2007或更高版本
模块安装:
pip install openpyxl
pip install python-docx
模板文件及效果展示:
实现步骤解析:
-
word中设置替换关键字
首先得在word中指定需要替换的某些关键字,并加以特殊标注,如’’【合同编号】’’,加上括号以便程序识别和区分 -
excel中设置表头与word中的关键字一一对应
excel中必须设置与合同文档相对应的需要替换的列表名,且必须带上相同的括号如’’【合同编号】’’,否则替换时会造成麻烦 -
用python-docx读取word内容,此处输出的格式比较错乱,但不影响最终效果
from docx import Document
doc = Document('合同模板.docx') # 打开模板文档,文档与源码处于同一目录下
for para in doc.paragraphs:#paragraphs为文档段落集合,此处遍文档每个段落对象
for run in para.runs: #runs为一段连续的文本,遍历所有连续的文本对象
print(run.text) #text为闰对象的属性,输出对象中的文本
- 读取excel中的对应值
wb = load_workbook(