当前位置: 代码迷 >> 综合 >> python docx 模块替换 word内容
  详细解决方案

python docx 模块替换 word内容

热度:17   发布时间:2023-12-13 03:19:11.0

from docx import Document

doc = Document(r’D:\python\Python37\testWord\卢祥和.docx’)
‘’’
paragraph = document.add_paragraph(‘这是个段落11。’) #将一段新文本添加到文档末尾
prior_paragraph = paragraph.insert_paragraph_before(‘这是前面的段落11。’)
paragraph1 = document.add_paragraph(‘这是个段落22。’)
prior_paragraph = paragraph1.insert_paragraph_before(‘这是前面的段落22。’)

document.save(r’D:\python\Python37\testWord\new-file-name.docx’)’’’
print(len(doc.paragraphs))#paragraphs是document文档对象的段落列表
print(doc.paragraphs[0].text)#输出paragraphs第一段的文本!Paragraphs对象具有text属性,包含段落中的纯文本字符串(没有样式信息)。
print(len(doc.paragraphs[0].runs))#’’‘Word文档中的文本不仅仅是字符串。它包含与之相关的字体、大小、颜色和其他样式信息。在Word中
#,样式是这些属性的集合。一个Run对象是相同样式文本的延续。当文本样式发生改变时,就需要一个新的Run对象。’’’’

def replace_text(old_text, new_text):
for p in doc.paragraphs:
if old_text in p.text:
inline = p.runs
for i in inline:
if old_text in i.text:
text = i.text.replace(old_text, new_text)
i.text = text

replace_text(“卢祥和”,“123”)
doc.save(r’D:\python\Python37\testWord\new-file-name.docx’)

  相关解决方案