我想将 word 文档转换为文本。所以我用了一个脚本。
import win32com.client
app = win32com.client.Dispatch('Word.Application')
doc = app.Documents.Open(r'C:\Users\SBYSMR10\Desktop\New folder (2)\GENERAL DATA.doc')
content=doc.Content.Text
app.Quit()
print content
我有以下结果:
现在我想将此文本转换为包含其所有项目的列表。我用过
content = " ".join(content.replace(u"\xa0", " ").strip().split())
编辑
当我这样做时,我得到:
它不是一个列表。问题是什么?那个大点字符是什么?
请您参考如下方法:
Word 文档不是文本,它们是文档:它们具有控制信息(如格式)和文本。如果忽略控制信息,文本将毫无用处。
因此您必须深入了解如何导航文档的控制结构以找到您感兴趣的文本,然后获取该结构的文本内容。
注意:您会发现 Word 非常复杂。如果可以,也可以考虑这两种方法:
在 Word 中将 Word 文档另存为 HTML。它会丢失一些格式,但列表将保持不变。 HTML 比 Word 更易于解析和理解。
将文档保存为 OOXML(至少从 Office 10 开始存在,扩展名是
.docx)。这是一个 ZIP 存档,里面有 XML 文档。 XML 再次比完整的 Word 文档更容易解析/理解,但比 HTML 版本更难。
