我正在尝试使用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')
答案 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循环并发表每个单词