Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python在docx中查找列表?_Python_Docx_Python Docx - Fatal编程技术网

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

如何使用python在docx中查找列表?,python,docx,python-docx,Python,Docx,Python Docx,我正在尝试拆分一个word文档,该文档如下所示: 1.0列表项 1.1列表项 1.2列表项 2.0列表项 它存储在docx中,我正在使用pythondocx来解析它。不幸的是,它在开始时丢失了所有编号。我试图确定每个有序列表项的开头 pythondocx库还允许我访问样式,但我不知道如何确定样式是否为列表样式 到目前为止,我一直在处理函数和检查输出,但标准格式类似于: for p in doc.paragraphs: s = p.style while s

我正在尝试拆分一个word文档,该文档如下所示:

1.0列表项
1.1列表项
1.2列表项
2.0列表项

它存储在docx中,我正在使用pythondocx来解析它。不幸的是,它在开始时丢失了所有编号。我试图确定每个有序列表项的开头

pythondocx库还允许我访问样式,但我不知道如何确定样式是否为列表样式

到目前为止,我一直在处理函数和检查输出,但标准格式类似于:

    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
我一直在用它来搜索自定义样式,但是所有的结果都是“正常”,而不是“列表编号”


我尝试过在文档、段落和跑步记录下搜索样式,但运气不佳。我也尝试过搜索p.text,但如前所述,编号不会持久。

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

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


python docx的列表处理API还没有真正实现,因此如果您想在今天的版本中完成此操作,您需要在lxml级别进行操作。

您可以发布一些代码吗?这可能有助于我们更好地理解这个问题。我不确定要添加什么-我一直在修改一个函数,以便能够尝试感知底层结构。感谢您提供了这一信息丰富的答案。因为这是一年前发布的,我想知道。。。PythonDocx处理列表的能力有什么改进吗?短暂性脑缺血发作