通过Python修改docx中的文本

时间:2016-04-20 21:09:51

标签: python ms-word docx

我目前正在尝试打开现有的Word文档,通过在末尾插入原始输入来修改一行,然后将其保存为原始" DOCX"。我正在使用" DOCX"模块。我能够创建一个新文档,在其中写入,然后保存它...但是无法弄清楚如何修改现有的文档" DOCX"。

doc = docx.Document() paragraph = doc.add_paragraph()

到目前为止,我已经尝试过了..问题是我需要修改的段落是第0段,此代码将我的文本放在页面底部的新段落上。

import docx
paragraph = doc.add_paragraph()
doc = docx.Document("C:\Users\xxx\Desktop\test.docx")
doc.add_paragraph("hello")
docx.text.paragraph.Paragraph object at 0x03697170
doc.save("C:\Users\xxx\Desktop\test.docx")

如何指示python在段落中现有字符串的末尾写入然后保存它覆盖原始字符串?

3 个答案:

答案 0 :(得分:1)

import docx
doc = docx.Document("C:\Users\xxx\Desktop\test.docx")
doc.paragraphs[0].add_run("hello")
doc.save("C:\Users\xxx\Desktop\test.docx")

答案 1 :(得分:0)

你的意思是这样的吗?

from docx import Document
existing_docx = Document(r'path_to_existing.docx')
for paragraph in existing_docx.paragraphs:
    paragraph.text = paragraph.text + your_text
existing_docx.save(r'same_path_or_another.docx')

新的docx将在包含上述代码的每个段落后面包含您的文本。

答案 2 :(得分:0)

要获得第0段,请尝试:

para = doc.paragraphs[0]