如何使用python在docx中查找列表?

我试图拆开一个看起来像这样的word文档:

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,但如前所述,编号不会持续存在.

解决方法:

列表项可以通过各种方式在XML中实现.不幸的是,最常见的方法是使用工具栏添加列表项(而不是使用样式)也可能是最复杂的.

最好的办法是开始使用opc-diag来查看document.xml中使用的XML,然后从那里制定策略.

python-docx的列表处理API还没有真正实现,所以如果你想用今天的版本完成它,你需要在lxml级别运行.

上一篇:从PHP下载时Word / Excel文件已损坏


下一篇:如何从linux服务器生成.docx的PDF文件?