首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法使用python-docx将docx文件中的所有项目符号列表替换为编号列表?

有没有办法使用python-docx将docx文件中的所有项目符号列表替换为编号列表?
EN

Stack Overflow用户
提问于 2021-04-19 04:35:45
回答 1查看 159关注 0票数 1

我一直在尝试使用python-docx将docx文件中的所有项目符号列表更改为数字列表。到目前为止,我已经尝试使用paragraph.style属性。像这样做一些事情:

代码语言:javascript
运行
复制
if paragraph.style.name == 'Bullet List':
    paragraph.style = styles['List Number']

它适用于基本的文档文件,但有时,对于更复杂的文档,即使给定的段落在文档中显示为项目符号列表,paragraph.style.name也会返回类似'Body Text'的内容。我只是想知道是否有可能使用python-docx库来实现这一点,或者我可能需要寻找其他库。谢谢。

EN

Stack Overflow用户

发布于 2021-04-20 06:34:59

简短的回答是否定的。您看到的是使用工具栏按钮应用于段落的项目符号,这会将项目符号格式直接应用于段落。在段落级别(最低级别)应用的任何格式都会覆盖从样式继承的格式。

要解决这个问题,您需要做的是删除手动段落格式(可能是通过选择段落并按Ctrl-Q),就像在这里和其他web资源中所描述的那样,我敢肯定:https://www.okbar.org/lpt_articles/removing-formatting-from-word-documents/

在这些“覆盖”被移除之后,样式应该可以自由地执行其工作。

没有与“remove- python-docx -formatting”对应的python-docx应用编程接口。如果您希望以编程方式完成此操作,则需要自己操作XML。python-docx可以使用p = paragraph._p将您带到段落元素,然后print(p.xml)可以向您展示XML是什么样子的,但是在那里,您需要自己使用lxml调用来操作XML子树。在python-docx workaround function上搜索一些关于这是什么样子的想法。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67153138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档