如何使用Python向现有doc/docx文件追加新数据

2024-10-01 11:35:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,我尝试使用python将新数据附加到现有的docx文件中。在

from docx import Document # for Word document 
document = Document()
document.add_paragraph('My first paragraph')
document.add_paragraph("Second paragraph")
document.add_paragraph("Third paragraph")
document.add_paragraph("fourth paragraph")
document.add_paragraph("fifth paragraph") 

document.save("testDocmod.docx")

document = Document('testDocmod.docx')
paragraphs = document.paragraphs
incr=1
for paragraph in paragraphs:
    runs = paragraph.runs
    for run in runs:
        if(incr == 2):
            run.text = 'Updatd text'
        print run.text
    incr = incr + 1

但它只是更新第二个元素,而我需要在第二个元素之前附加它


Tags: runtextinadd元素forrunsdocument
1条回答
网友
1楼 · 发布于 2024-10-01 11:35:38

根据您是否希望接收,您可以:
1)删除第二段的所有内容并重新创建

from docx import Document
document = Document('testDocmod.docx')
paragraphs = document.paragraphs

#Store content of second paragraph
text = paragraphs[1].text

#Clear content
paragraphs[1]._p.clear()

#Recreate second paragraph
paragraphs[1].add_run('Appended part ' + text)
document.save("testDocmod.docx")

结果:

^{pr2}$

2)只需在第一段中添加文本:

from docx import Document
from docx.enum.text import WD_BREAK

document = Document('testDocmod.docx')
paragraphs = document.paragraphs

#Add break line after last run
paragraphs[0].runs[-1].add_break(WD_BREAK.LINE)
paragraphs[0].add_run('New text')
document.save("testDocmod.docx")

结果:

My first paragraph
New text

Second paragraph

Third paragraph

fourth paragraph

fifth paragraph

相关问题 更多 >