利用deepcopy复制的docx表格在文档中循环粘贴只能出现一次?如何实现一个表多次粘贴

from copy import deepcopy
from docx import Document

filename = r'C:\Users\Administrator\Desktop\python测试\编码区\表5.docx'
filename_模板 = r'C:\Users\Administrator\Desktop\python测试\编码区\准备模板\报告表模板.docx'
document = Document(filename)
document_模板 = Document(filename_模板)
table_模板建筑物总汇 = document_模板.tables[0]
table_模板建筑物分层 = document_模板.tables[1]
new_table1 = deepcopy(table_模板建筑物总汇)

for a in document.paragraphs:
    print(a.text)
print("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")

for j in range(len(document.paragraphs)):
    print("bbbbbbbbbbbbbb")
    print(len(document.paragraphs))
    print("bbbbbbbbb")
    if "jz1" in document.paragraphs[j].text:
        paragraph = document.paragraphs[j]
        new_paragraph = paragraph.insert_paragraph_before(text="建筑物1", style='Heading 3')
        new_paragraph._p.addnext(new_table1._element)#在新的段落下插入复制的表格
        p = document.paragraphs[j+1]._element
        p.getparent().remove(p)
        print(j,"段找到")
    if "jz2" in document.paragraphs[j].text:
        paragraph = document.paragraphs[j]
        new_paragraph = paragraph.insert_paragraph_before(text="建筑物2", style='Heading 3')
        new_paragraph._p.addnext(new_table1._element)  # 在新的段落下插入复制的表格
        p = document.paragraphs[j+1]._element
        p.getparent().remove(p)
        print(j, "段找到")

    print(j)



document.save(r'C:\Users\Administrator\Desktop\python测试\编码区\text.docx')

表格只出现一次,没有循环出现

利用deepcopy复制的docx表格在文档中循环粘贴只能出现一次?
运行结果,text.docx 里只有一个表格,建筑物1 下一行应该也有一个同样表格··
利用deepcopy复制的docx表格在文档中循环粘贴只能出现一次?

讨论数量: 1
Jason990420
for j in range(len(document.paragraphs)):
    ...
    new_table1 = deepcopy(table_模板建筑物总汇)
    new_paragraph._p.addnext(new_table1._element)#在新的段落下插入复制的表格
    ....
3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!