Python-docx和保留格式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-docx和保留格式相关的知识,希望对你有一定的参考价值。
我正在尝试使用python-docx自动执行报告编写。我在人字形括号内的模板文档中表示替换项。例如<customer_name>
。
这可以通过遍历python中的段落并执行字符串替换来正常工作。缺点是它删除了我应用于非替换文字的所有突出显示。粗体,斜体和下划线文本显示为确定。
for p in doc.paragraphs:
p.text = p.text.replace('<customer_name>', 'John Smith')
我也尝试过遍历运行(这些是模块提供的段落的另一个子集),但这还不够鲁棒,因为我的标签被划分为多次运行,而我的replace语句也无法毫无困难地检测到它们。
我是否忽略了一些小细节或替代方法,使我可以在不删除突出显示的情况下更改文本?
答案
[通过进一步检查run
对象,有两个感兴趣的属性:font
和element
。 font
属性包含一个名为text
的属性,可用于提取和编辑不同运行的文本。 element
属性包含一个名为highlight_color
的属性。通过将highlight_color
设置为None
,可以删除突出显示。
以上是关于Python-docx和保留格式的主要内容,如果未能解决你的问题,请参考以下文章
python 操作 word 文档,使用 python-docx 操作 word docx 文档