python-docx 替换文字 不改变样式 Run对象替换不完整
在 Python-docx 中,使用 Run 对象来表示文档中的一段连续的具有相同样式的文本,可以使用 Run 对象的 text 属性来获取或设置文本内容。如果要替换文档中的某个文本,可以先找到该文本所在的 Run 对象,然后修改其 text 属性。
以下是一个简单的示例,演示如何在一个 Word 文档中替换指定的文本:
from docx import Document
# 打开 Word 文档
doc = Document('example.docx')
# 遍历文档中的所有 Run 对象
for paragraph in doc.paragraphs:
for run in paragraph.runs:
# 如果该 Run 对象中包含要替换的文本
if '原始文本' in run.text:
# 替换文本
new_text = run.text.replace('原始文本', '新文本')
run.text = new_text
# 保存文档
doc.save('example_modified.docx')
在上述示例中,我们通过遍历文档中的所有 Run 对象,找到包含要替换的文本的 Run 对象,然后将其 text 属性替换为新的文本。
需要注意的是,上述示例只能替换文本内容,并不能保留原有的样式。如果要保留原有的样式,需要在替换文本时同时复制原有的样式。具体实现可以参考官方文档中的示例代码:https://python-docx.readthedocs.io/en/latest/user/quickstart.html#replace-placeholder-tex
原文地址: http://www.cveoy.top/t/topic/hflk 著作权归作者所有。请勿转载和采集!