python-docx检测枚举列表

时间:2018-08-09 11:26:13

标签: python docx python-docx

我想使用python-docx在word文档中检测枚举列表。像

if paragraph is enum:
  #do something

在python-docx中可以吗?

TIA

3 个答案:

答案 0 :(得分:0)

您可以检查段落的样式:

if paragraph.style.name == 'List Paragraph':
    #do something

答案 1 :(得分:0)

这可能是不完整的答案,但是大多数枚举或编号列表在段落属性(w:numPr)中都有编号属性参考(w:pPr)属性。

此代码列出了w:numPr中包含w:pPr的所有段落:

[p for p in doc.paragraphs if len(p._element.xpath('./w:pPr/w:numPr')) > 0]

希望这会有所帮助,

最佳

答案 2 :(得分:0)

我有一个python-docx(bayoo-docx)的分支。 我实现了其中列出的相关功能

list_paragraph = [for paragraph in document.paragraphs if paragraph.list_info[0]]

paragraph.list_info 返回一个元组(是否为布尔段落,列表的num id,列表项的级别)