Python:在Docx中查找和替换文本

时间:2019-09-29 18:31:21

标签: python arrays replace find docx

我有2个文件。文档1包含要查找和替换的文本列表。第1行是要查找的文本,第2行是将第1行替换为的文本。

文档2是查找和替换的地方。

我已经很接近了,但是还不能正常工作。关于我做错了什么建议吗?

import docx
from docx import Document
findList = ['{Fundamentals|Basics|Principles}','{as well|also|too}']
replaceList = ['Fundamentals','{as well|too}']

filename = 'BodyLang-9.8k.rtf.docx'
def replace_string(filename):
    y = 0
    doc = Document(filename)
    for p in doc.paragraphs:
        if findList[y] in p.text:
            inline = p.runs
            # Loop added to work with runs (strings with same style)
            for i in range(len(inline)):
                if findList[y] in inline[i].text:
                    text = inline[i].text.replace(findList[y], replaceList[y])
                    inline[i].text = text
            print (p.text)
            y += 1

    doc.save('dest1.docx')
    return 1
replace_string(filename)

当前没有错误,但是似乎根本没有替换文本。我对正在发生的事情有点迷茫。

0 个答案:

没有答案