在Python中解析Word文档

Sha*_*sal 1 python string ms-word

我想将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
Run Code Online (Sandbox Code Playgroud)

我有以下结果:

在此输入图像描述

现在我想将此文本转换为包含其所有项目的列表.我用了

content = " ".join(content.replace(u"\xa0", " ").strip().split())
Run Code Online (Sandbox Code Playgroud)

编辑

当我这样做时,我得到:

在此输入图像描述

它不是一个清单.问题是什么?什么是大点人物?

Aar*_*lla 9

Word文档不是文本,它们是文档:它们具有控制信息(如格式化)和文本.如果忽略控制信息,文本就没用了.

因此,您必须深入了解如何导航文档的控制结构以查找您感兴趣的文本,然后获取该结构的文本内容.

注意:您会发现Word非常复杂.如果可以,请考虑以下两种方法:

  • 将Word文档保存为Word中的HTML.它会丢失一些格式,但列表将保持不变.HTML比Word更容易解析和理解.

  • 将文档保存为OOXML(至少存在于Office 10,扩展名为.docx).这是一个包含XML文档的ZIP存档.XML比完整的Word文档更容易解析/理解,但比HTML版本更难.