替换 Python 中 docx 表中的文本 3

Replace text in docx tables in Python 3

我正在使用 python-docx 并尝试替换 table 保存样式中的文本。 that's how my table looks

我已经用这个替换了段落:

from docx import Document
def replace_string(doc, to_replace, replacement):
    for p in doc.paragraphs:
        if to_replace in p.text:
            inline = p.runs
            for i in range(len(inline)):
                if to_replace in inline[i].text:
                    text = inline[i].text.replace(to_replace, replacement)
                    inline[i].text = text
    return 1

但它不适用于 tables 和单元格。我也试过这个:

def replace_in_table(doc, to_replace, replacement):
for table in doc.tables:
    for cell in table.cells:
        for p in cell.paragaphs:
            if to_replace in p.text:
                inline = p.runs
                for i in range(len(inline)):
                    if to_replace in inline[i].text:
                        text = inline[i].text.replace(to_replace, replacement)
                        inline[i].text = text
return 1

但是我有一个 AttributeError:'Table' 对象没有属性 'cells'。 请帮我解决这个问题

看看他们的 docs 你可能需要做这样的事情:

for table in doc.tables:
    for row in table.rows:
        for cell in row.cells:
           ...