首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python-docx和保留格式

Python-docx和保留格式
EN

Stack Overflow用户
提问于 2020-05-21 10:34:40
回答 1查看 82关注 0票数 0

我正在尝试使用python-docx自动编写报告。我在我的模板文档中用V形括号表示替换。例如<customer_name>

这可以通过在python中迭代段落并执行字符串替换来很好地工作。缺点是它删除了我应用于非替换文本的任何高亮显示。粗体、斜体和下划线文本显示正常。

代码语言:javascript
复制
for p in doc.paragraphs:
    p.text = p.text.replace('<customer_name>', 'John Smith')

我也尝试过迭代运行(这些是模块提供的另一个段落子集),但这不够健壮,因为我的标记在多个运行中被划分,并且我的replace语句无法毫无困难地检测到它们。

我是否忽略了一些小细节或替代方法,这些方法允许我在不删除突出显示的情况下更改文本?

EN

回答 1

Stack Overflow用户

发布于 2020-05-25 18:17:47

通过进一步检查run对象,有两个有趣的属性:fontelementfont属性包含一个名为text的属性,可用于提取和编辑不同运行的文本。element属性包含一个名为highlight_color的属性。通过将highlight_color设置为None,可以删除高亮显示。

一个缺点是不能保证完整的标记<customer_name>会出现在一次运行中,这意味着需要在一系列运行中使用一系列if语句来搜索标记。

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

https://stackoverflow.com/questions/61926238

复制
相关文章

相似问题

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