我正试图拆开一个看起来像这样的文档:
1.0列表项目
1.1清单项目
1.2清单项目
2.0列表项
它存储在docx中,我正在使用python-docx来尝试解析它。不幸的是,它在开始时丢失了所有编号。我正在尝试识别每个有序列表项的开头。
python-docx库也允许我访问样式,但我无法弄清楚如何确定样式是否为列表样式。
到目前为止,我一直在使用函数和检查输出,但标准格式如下:
for p in doc.paragraphs:
s = p.style
while s.base_style is not None:
print s.name
s = s.base_style
print s.name
我一直在尝试搜索自定义样式,但全部以“正常”结束,而不是“ListNumber”。
我已经尝试在文档,段落和运行中搜索样式而没有运气。我也试过搜索p.text,但如前所述,编号不会持续存在。
答案 0 :(得分:5)
列表项可以通过各种方式在XML中实现。不幸的是,最常见的方法是使用工具栏添加列表项(而不是使用样式)也可能是最复杂的。
最好的办法是开始使用 opc-diag 来查看document.xml中使用的XML,然后从那里制定策略。
python-docx的列表处理API还没有真正实现,所以如果你想用今天的版本完成这项工作,你需要在lxml级别运行。