我正在尝试提取text
来自 MS Word 文档(.docx 文件)中的(任何级别)标题。目前我正在尝试解决使用python-docx,但不幸的是,读完后我仍然无法弄清楚它是否可行(也许我错了)。
我尝试在网上寻找解决方案,但没有发现任何适合我的任务的解决方案。如果有人能在这里指导我,那就太好了。
根本的挑战是识别标题段落。就读者而言,没有什么可以阻止作者将“常规”段落格式化为看起来(并充当)标题。
然而,作者可靠地使用样式来创建标题的情况并不罕见,因为这样做可以自动将这些标题编译到目录中。
在这种情况下,您可以迭代段落,并挑选出具有其中一种标题样式的段落。
def iter_headings(paragraphs):
for paragraph in paragraphs:
if paragraph.style.name.startswith('Heading'):
yield paragraph
for heading in iter_headings(document.paragraphs):
print heading.text
如果标题级别保留默认值(例如“标题 1”、“标题 2”等),则可以从完整样式名称中解析标题级别。
如果作者重命名了标题样式,则可能需要调整。
有更复杂的方法更可靠(就独立于样式名称而言),但这些方法没有 API 支持,因此您需要深入研究内部代码并直接与我期望的一些样式 XML 交互。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)