
本系列推文主要介绍了使用Python代码和python-docx库开发Word的案例。在日常工作中,微软的Word软件毫无疑问是编辑单个图文文件的不二选择,但是如果需要批量创建和修改多个相似的Word文件,使用Python代码和python-docx库将成倍提高工作效率。
python-docx库是在Python代码中创建和编辑Microsoft Word(.docx)文件的第三方库,.docx是Microsoft Word 2007之后的文件格式,它是基于Office Open XML标准的压缩文件格式。.doc文件格式曾经是Microsoft Word 2007之前的Word文件格式,但是python-docx库不支持.doc文件格式,因此不能在Python代码中使用python-docx库创建和编辑.doc格式的Word文件。在本系列案例中,将使用Python代码调用python-docx库的 Document、Paragraph、Table、Section等相关对象,从而实现以编程方式对Word文件的段落、表格、节等进行批量编辑。
下面介绍两个Python辅助Word实例,在指定段落中实现替换文本,和在所有段落中实现替换文本。
实例功能
此案例主要通过使用Paragraph的text属性获取和设置段落的文本,并使用Python语言字符串的replace()方法替换指定的文本,从而实现在Word文件的指定段落中替换指定的文本。当运行此案例的Python代码(B004.py文件)之后,“长寿湖简介.docx”文件第2个段落的所有“长寿湖”将被修改为“长寿湖景区”,但是在其他段落和表格中的“长寿湖”不会被修改为“长寿湖景区”,代码运行前后的效果分别如图1和图2所示。

■ 图1

■ 图2
实现代码
import docx
myDocument=docx.Document('长寿湖简介.docx')
#获取Word文件(myDocument)的第2个段落的文本(myText)
myText=myDocument.paragraphs[1].text
#在文本(myText)中将'长寿湖'替换为'长寿湖景区'
myText=myText.replace('长寿湖','长寿湖景区')
#使用替换之后的文本 (myText)设置第2个段落
myDocument.paragraphs[1].text=myText
myDocument.save('我的Word文件-长寿湖简介.docx')
代码说明
在上面这段代码中,myText=myText.replace('长寿湖','长寿湖景区')表示在 myText中将'长寿湖'替换为'长寿湖景区','长寿湖'表示替换前的文本,'长寿湖景区'表示替换后的文本。
此案例的源文件是MyCode\B004\B004.py。

扫码观看讲解视频
实例功能
此案例主要通过使用Document的paragraphs属性获取所有段落,并使用字符串的replace()方法替换指定的文本,从而实现在Word文件的所有段落中替换指定的文本。当运行此案例的Python代码(B005.py文件)之后,“长寿湖简介.docx”文件所有段落的所有“长寿湖”将被修改为“长寿湖景区”,但是在表格中的“长寿湖”不会被修改为“长寿湖景区”,代码运行前后的效果分别如图3和图4所示。

■ 图3

■ 图4
实现代码
import docx
myDocument=docx.Document('长寿湖简介.docx')
#循环Word文件(myDocument)的段落(myParagraph)
for myParagraph in myDocument.paragraphs:
#获取段落(myParagraph)的文本(myText)
myText=myParagraph.text
#在文本(myText)中将'长寿湖'替换为'长寿湖景区'
myText=myText.replace('长寿湖','长寿湖景区')
#使用替换之后的文本(myText)设置该段落
myParagraph.text=myText
myDocument.save('我的Word文件-长寿湖简介.docx')
代码说明
在上面这段代码中,for myParagraph in myDocument.paragraphs:表示循环Word文件(myDocument)的每个段落。myText=myText.replace('长寿湖','长寿湖景区')表示在 myText中将'长寿湖'替换为'长寿湖景区','长寿湖'表示替换前的文本,'长寿湖景区'表示替换后的文本。
此案例的源文件是MyCode\B005\B005.py。
补充说明
阅读和使用本书案例要求读者具备一定的Python语言编程基础和操作Excel的基本常识,关于Python语法基础可以参考Python 基础语法教程(https://www.runoob.com/python/python-basic-syntax.html)。

扫码观看讲解视频
源代码下载
关注微信公众号,后台回复关键词 “Python辅助WordV252” 即可获得完整源代码。


参考书籍
《Python辅助Word+Excel:让办公更高效》
ISBN:9787302592464
作者:罗帅、罗斌
定价:99.8元


扫码优惠购书
347个典型办公场景
问题描述+解决方案+真实源码+效果截图
Python+Word+Excel实现办公自动化,
成倍提高办公效率
优化数据分析,让工作省点力!
告别重复劳动,蜕变职场精英!











