在python-docx中搜索和替换

时间:2014-04-29 22:01:42

标签: python replace python-docx

我有一个带有以下字符串的文档(模板):"您好,我的名字是Bob。鲍勃是一个很好的名字。" 我想使用python-docx打开这个文档,并使用"查找和替换"方法(如果存在)改变每一个字符串" Bob" - > "马克&#34 ;.最后,我想生成一个带有字符串的新文档"您好,我的名字是Mark。马克是一个很好的名字。" 我怎么能这样做?

from docx import *

TEMPLATE_FILE = 'test_template.docx'

class generate_docx:
    @staticmethod
    def test():
        document = Document(TEMPLATE_FILE)
        body = document.xpath('/w:document/w:body', namespaces=nsprefixes)[0]
        body = replace(body, 'Bob', 'Mark')
        savedocx('proper.docx')

属性错误:'文档'对象没有属性' xpath'

1 个答案:

答案 0 :(得分:0)

您似乎已将python-docx v0.3.0 + API与旧版v0.2.x API混合使用。 python-docx v0.3.0是一个完全重写的面向对象的API,它与以前的版本不兼容。新版本的文档在这里:python-docx.readthedocs.org/en/latest/index.html。 Document实例不再是Element对象,因此不再具有.xpath方法。