编程语言
首页 > 编程语言> > python – 从word doc中提取标题文本

python – 从word doc中提取标题文本

作者:互联网

我试图从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交互.

标签:python-docx,python,parsing,text,ms-word
来源: https://codeday.me/bug/20190828/1755379.html