如何用Python更改Word文档的内容?

时间:2018-02-13 20:03:58

标签: python list ms-word python-docx

我正在尝试使用word文档来更改其内容。当我尝试以下代码时,它不起作用,因为'Document' object is not iterable

from docx import Document

doc = Document('SomeDocument.docx')
doc_list = list(doc)

some_list = []
for item in doc_list:
    if item == 'something':
        some_list.append(item)

some_list.save('DocumentOutput.docx')

2 个答案:

答案 0 :(得分:1)

要访问Word文档中的文本,您需要使用text中的docx-python函数。如果你想操作文档的文本,你可以通过在其中存储文本来使用列表,然后用它做你想做的事。

doc = Document('SomeDocument.docx')

paragraphs = []
for paragraph in doc.paragraphs:
    p = paragraph.text
    paragraphs.append(p)


output = Document()
for item in questions_answers:
    line = test.add_paragraph(item)

output.save('OutputDocument.docx')
  

请注意: 此代码仅复制文档的文本,而不包含所有粗体斜体,带下划线或有色部分(仅限于文本)。它也不会复制不同的字体,表格样式等。   如果您确实要复制每个段落的样式,请参阅How do I copy the contents of a word document?

答案 1 :(得分:0)

不要将文档转换为列表,而是尝试使用循环将文档中的所有单词追加到列表中 删除:list(doc)并将其更改为[]

然后制作你的for循环并发表每个单词