暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python辅助Word实例|在指定段落中实现替换文本(附源码+限免视频)

807

本系列推文主要介绍了使用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实例,在指定段落中实现替换文本,和在所有段落中实现替换文本。


实例:在指定段落中实现替换文本


01

实例功能


此案例主要通过使用Paragraph的text属性获取和设置段落的文本,并使用Python语言字符串的replace()方法替换指定的文本,从而实现在Word文件的指定段落中替换指定的文本。当运行此案例的Python代码(B004.py文件)之后,“长寿湖简介.docx”文件第2个段落的所有“长寿湖”将被修改为“长寿湖景区”,但是在其他段落和表格中的“长寿湖”不会被修改为“长寿湖景区”,代码运行前后的效果分别如图1和图2所示。


■ 图1

■ 图2


02

实现代码


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')


03

代码说明


在上面这段代码中,myText=myText.replace('长寿湖','长寿湖景区')表示在 myText中将'长寿湖'替换为'长寿湖景区','长寿湖'表示替换前的文本,'长寿湖景区'表示替换后的文本。

此案例的源文件是MyCode\B004\B004.py。


扫码观看讲解视频


实例:在所有段落中实现替换文本


01

实例功能


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


■ 图3

■ 图4


02

实现代码


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')


03

代码说明


在上面这段代码中,for myParagraph in myDocument.paragraphs:表示循环Word文件(myDocument)的每个段落。myText=myText.replace('长寿湖','长寿湖景区')表示在 myText中将'长寿湖'替换为'长寿湖景区','长寿湖'表示替换前的文本,'长寿湖景区'表示替换后的文本。

此案例的源文件是MyCode\B005\B005.py。


04

补充说明


阅读和使用本书案例要求读者具备一定的Python语言编程基础和操作Excel的基本常识,关于Python语法基础可以参考Python 基础语法教程(https://www.runoob.com/python/python-basic-syntax.html)。


扫码观看讲解视频




05

源代码下载

关注微信公众号,后台回复关键词 “Python辅助WordV252” 即可获得完整源代码。



06

参考书籍

《Python辅助Word+Excel:让办公更高效》

ISBN:9787302592464

作者:罗帅、罗斌

定价:99.8元

扫码优惠购书


347个典型办公场景

问题描述+解决方案+真实源码+效果截图

Python+Word+Excel实现办公自动化,

成倍提高办公效率

优化数据分析,让工作省点力!

告别重复劳动,蜕变职场精英!





文章转载自清华计算机学堂,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论