我尝试使用以下代码读取docx文件:
from docx import Document
doc = Document('test.docx')
但是当我尝试打印时,我明白了:
<docx.api.Document object at 0x02952C70>
如何阅读文件内的内容?
我读到docx最近发生了变化,旧的问题/答案不再适用了。
答案 0 :(得分:4)
在此处查看Document对象的结构:
例如,如果您想获取属性&#34;段落&#34;:
doc = Document('test.docx')
paragraphs = doc.paragraphs()
我希望这会有所帮助。
编辑:我在python-docx's gitHub repository找到了这个片段,并在此编辑了一下:
document = docx.Document(filename)
docText = '\n\n'.join([
paragraph.text.encode('utf-8') for paragraph in document.paragraphs
])
print docText
join()函数从paragraph属性返回的数组中的段落接收以UTF-8编码的字符串列表。结果如下:
paragraph 1
paragraph 2
paragraph 3
看起来这样可行,但它不会打印表格,页眉或页脚。
编辑:此链接是有关python-docx的所有文档的主要索引:
答案 1 :(得分:0)
可以不使用docx
模块使用Python从Word文件中提取信息。 One solution, (there are many), from etienne是docx
的一个非常基本的版本,可能会删除您获得的十六进制数字。但是,就像SebasSBM的回答一样,它不适用于其他功能,例如表等。
如果仍然无效,我会建议these answers;也许其中一个仍然与您的新docx格式相关。