Python: 以树形结构提取MS Word数据

Python: Extract MS Word data in a tree structure

有什么方法可以提取树结构中的 MS Word 文件数据。我的意思是文档文件有标题、段落和 table。我想在标题层次结构中提取该信息。不确定什么是最好的方法。有谁能分享一下他们用python解析word文档的经验吗?

标题,或印刷用语中的 "section headings",在 Word 中不是容器 object;它们每个都只是一个段落 object,其格式使它们 显示为 作为章节标题,通常是粗体且字体比 body 文本稍大。

因此,无论您采用何种方法,都有可能会错过 reader 会感知到的 "boundary"。

最佳方法在一定程度上取决于您将使用的文档。在最好的情况下,每个部分都以具有 标题 {n} 样式之一的段落开始,例如 "Heading 1" 和 "Heading 2"。然后您可以继续检查每个段落中的一种样式并相应地填充您的层次结构。作者坚持这一原则是有充分理由的,因为它使 table-of-contents (TOC) 的形成变得更加容易。

否则您需要寻找其他可靠的标记来指示新部分的开始。

请注意,Word 也有一个概念 "section",这与我在这里使用该词的方式完全不同。在 Word 中,节是共享相同页面格式(如边距、portrait/landscape 等)的连续页面块。在出版用语中,节是 章节 或具有标题(但通常不是分页符)的类似块的细分,并且本身可以分为 sub-sections 每个级别标题较小。