python - 如何使用 Python 将新数据附加到现有的 doc/docx 文件

标签 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

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

最佳答案

根据您是否希望收到,您可以:
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")

结果:
My first paragraph

Appended part Second paragraph

Third paragraph

fourth paragraph

fifth paragraph

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

关于python - 如何使用 Python 将新数据附加到现有的 doc/docx 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25261386/

相关文章:

python - 将数据透视应用于 Pandas Dataframe

javascript - 如何通过 webhook 将 json 格式的字符串作为有效负载传递给 iron.io worker?

python - 如何使用正则表达式匹配段落

python - 根据(估计的)特征数量选择 KBest

python - tensorflow 中 numpy.newaxis 的替代方案是什么?

python - 如何在python中使用正则表达式从包含日期的文件名中提取字符串?

python - 使用 Python 进行 MSAL 身份验证显示未经授权的客户端?

python - 配置 Django 以使用 SQLAlchemy

python - 如何以编程方式访问存储为静态文件的数据(加载 pickle 文件)?

python - 循环并加载 yaml 文件的压缩文件夹