Python docx复制表

Python docx复制表,python,docx,python-docx,Python,Docx,Python Docx,我使用以下代码保存表、修改表,然后复制表。我从中获得了copy\u table\u after() def copy_table_后(表格,段落): tbl,p=表格。\ tbl,段落。\ U p 新建\u tbl=深度复制(tbl) p、 添加下一步(新建) def replaceText(文档、搜索、替换): 对于document.tables中的表: 对于table.rows中的行: 对于第行单元格中的段落: 如果在段落.text中搜索: 段落.text=替换 文档=文档('Test.do

我使用以下代码保存表、修改表,然后复制表。我从中获得了
copy\u table\u after()

def copy_table_后(表格,段落):
tbl,p=表格。\ tbl,段落。\ U p
新建\u tbl=深度复制(tbl)
p、 添加下一步(新建)
def replaceText(文档、搜索、替换):
对于document.tables中的表:
对于table.rows中的行:
对于第行单元格中的段落:
如果在段落.text中搜索:
段落.text=替换
文档=文档('Test.docx')
模板=文档。表[0]
替换文本(文档“”,“新值”)
段落=文件。添加段落()
复制表格(模板,段落)

我的问题是,当我在之后运行
copy\u table\u时,它会用新文本复制表格。是否有一种方法可以“保存”表格,然后在我已经对其进行了更改后复制原始表格

是的,应该可以这样做:

(注意,我已经删除了copy_table_after,因为我们只想复制该表)

def replaceText(文档、搜索、替换):
对于document.tables中的表:
对于table.rows中的行:
对于第行单元格中的段落:
如果在段落.text中搜索:
段落.text=替换
文档=文档('Test.docx')
模板=文档。表[0]
tbl=模板。\u tbl
#我们在这里复制表格
新建\u tbl=深度复制(tbl)
#然后我们做替换
替换文本(文档“”,“新值”)
段落=文件。添加段落()
#之后,我们添加先前复制的表
段落._p.addnext(新的_tbl)

如何将表复制多次?我试图重新运行
段落。\u p.addnext(new\u tbl)
,但它似乎没有任何作用。我不知道如何在不保存文件的情况下执行此操作,然后重新打开并再次复制它
def copy_table_after(table, paragraph):
    tbl, p = table._tbl, paragraph._p
    new_tbl = deepcopy(tbl)
    p.addnext(new_tbl)

def replaceText(document, search, replace):
    for table in document.tables:
        for row in table.rows:
            for paragraph in row.cells:
                if search in paragraph.text:
                    paragraph.text = replace

document = Document('Test.docx')
template = document.tables[0]
replaceText(document, '<<VALUE_TO_FIND>>', 'New value')
paragraph = document.add_paragraph()
copy_table_after(template, paragraph)
def replaceText(document, search, replace):
    for table in document.tables:
        for row in table.rows:
            for paragraph in row.cells:
                if search in paragraph.text:
                    paragraph.text = replace

document = Document('Test.docx')
template = document.tables[0]
tbl = template._tbl
 # Here we do the copy of the table
new_tbl = deepcopy(tbl)
# Then we do the replacement
replaceText(document, '<<VALUE_TO_FIND>>', 'New value')
paragraph = document.add_paragraph()
# After that, we add the previously copied table
paragraph._p.addnext(new_tbl)