python docx 替换文字_查找并替换.docx文件中的文本 - Python

这篇博客介绍了一种使用Python的zipfile模块来查找并替换docx文件中特定文本的方法。通过创建一个字典来定义要替换的文本及其对应的新文本,然后提取并修改document.xml文件,最后将修改后的文件写入新的docx文档,实现了文本的替换。这种方法虽然有效,但博主担心可能存在问题,希望得到社区的反馈。
摘要由CSDN通过智能技术生成

我一直在寻找一种方法来查找和替换docx文件中的文本而运气不佳 . 我已经尝试过docx模块而无法使用它 . 最后,我使用zipfile模块计算了下面描述的方法,并替换了docx存档中的document.xml文件 . 为此,您需要一个模板文档(docx),其中您要替换的文本作为唯一字符串,无法与文档中的任何其他现有或未来文本匹配(例如,“XXXMEETDATEXXX上与XXXCLIENTNAMEXXX的 Session 进行得非常顺利 . “) .

import zipfile

replaceText = {"XXXCLIENTNAMEXXX" : "Joe Bob", "XXXMEETDATEXXX" : "May 31, 2013"}

templateDocx = zipfile.ZipFile("C:/Template.docx")

newDocx = zipfile.ZipFile("C:/NewDocument.docx", "a")

with open(templateDocx.extract("word/document.xml", "C:/")) as tempXmlFile:

tempXmlStr = tempXmlFile.read()

for key in replaceText.keys():

tempXmlStr = tempXmlStr.replace(str(key), str(replaceText.get(key)))

with open("C:/temp.xml", "w+") as tempXmlFile:

tempXmlFile.write(tempXmlStr)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值