人生苦短,我用python。

工具

这里我们使用python-docx库, 关于这个库的使用可以参考官方文档

使用

  • 第一种:如果不在乎原有文章的格式,比如把word文档里的需要替换的字符串替换成我是替换后的字符串可以使用以下代码

      doc = docx.Document('test.docx')for paragraph in doc.paragraphs:if '需要替换的字符串' in p.text:p.text = p.text.replace('需要替换的字符串', '我是替换后的字符串')doc.save('result_test.docx')
    

    这种替换方式有个问题就是,不能保持原有的格式, 比如需要替换的字符串是带下划线并、加粗、黑体,替换之后这些格式都不存在了,但这也是最简单部分的替换方式。

  • 第二种: 既然第一种有问题,那么我们想要保持原有的文档格式,怎么办?我们只能更改里面的文字块,再python-docx库中文字块叫run,特殊就是这个run并不是我们我们想象的那样是连续的,这里盗了个图,这里感谢这位博主的图。

从图中可以看出,run是paragraph的最小单元,所以待会儿取得时候我们只能拿到段落我们才能找到run,再说run得特殊性, 比如需要替换的字符串这几个字可能是多个run, 可能是两个run,分别是’需要替换的’, ‘字符串’。直接上代码:

doc = docx.Document('my_template.docx')
for paragraph in doc.paragraphs:tmp = ''runs = paragraph.runsfor i, run in enumerate(runs):tmp += run.text # 合并run字符串if '需要替换的字符串' in tmp:# 如果存在匹配得字符串,那么将当前得run替换成合并后得字符串run.text = run.text.replace(run.text, tmp)run.text = run.text.replace('需要替换的字符串', '我是替换后的字符串')tmp = ''else:# 如果没匹配到目标字符串则把当前run置空run.text = run.text.replace(run.text, '')if i == len(runs) - 1:# 如果是当前段落一直没有符合规则得字符串直接将当前run替换为tmprun.text = run.text.replace(run.text, tmp)

以上就是两种替换方式,可以看需求使用

使用python替换word文档部分内容相关推荐

  1. Python3-word文档操作(三):利用python修改word文档的内容

    前两篇博文中,学习了是用python的docx库创建一个word文档,并且编辑了标题和正文,以及利用python来获取word文档的内容.本篇学习利用python修改word文档的内容. 修改word ...

  2. Word处理控件Aspose.Words功能演示:使用 Python 将 Word 文档的内容复制到另一个文档

    在各种情况下,您可能需要将 Word 文档的内容复制到另一个文档中.此外,您可能需要创建原始 Word 文档的克隆.为了自动化这些操作,本文介绍了如何在 Python 中将内容从一个 Word 文档复 ...

  3. python替换word内容,文档翻译-使用python替换word文档中的段落内容

    前段时间遇到一个需求,需要将word文档中的内容进行替换,并且需要保证格式不变.在找了一圈资料后,发现没有现成的api供使用:由于本人做过一段时间文档解析,因此打算从word文档的xml入手,通过py ...

  4. Python3-word文档操作(二):利用python获取word文档的内容

    上一篇,学习了是用python的docx库创建一个word文档,并且编辑了标题和正文.本篇继续python操作word之旅:利用python来获取word文档的内容. python脚本: # -*- ...

  5. Python操作word文档,添加内容

    需要用到  docx 模块  WD_ALIGN_PARAGRAPH是文本对齐 docx.shared import Pt   是文本字号大小 from docx import Document fro ...

  6. python之word文档生成

    python之word文档生成 python-docx官方文档 python-docx操作word文档 python文件读取操作 excel文件操作 python-docx官方文档 Document ...

  7. itext word模板替换_【极简Python 自动化办公】Python写入Word文档

    [极简Python 自动化办公]专栏是介绍如何利用python办公,减少工作负荷.篇幅精炼,内容易懂,无论是否有编程基础,都非常适合. 在上次文章中,我们学习了[用python写入excel],这次我 ...

  8. Word处理控件Aspose.Words功能演示:使用 Python 查找和替换 Word 文档中的文本

    很多时候,您需要替换 Word 文档中的特定文本或短语.MS Word 具有针对此类情况的内置功能,您可以一键替换所需的文本.在本文中,您将学习如何使用 Python 以编程方式查找和替换 Word ...

  9. python读取word内容写入excel_“python循环写入excel“Word文档的内容提取到excel表格中...

    Excel表格内容自动填充到word中的指定位置 使用粘贴链接.在Excel中复制需要进入Word文档中的数据内容,然后在Word文档中,点击选择性粘贴,然后点选粘贴为链接. 如何将EXCEL的文字复 ...

  10. Python读取Word文档段落或者表格

    Python解析word文档 1 .安装并导依赖包 2.word的doc格式转docx格式 3.解析word_doc文档段落.表格内容 4.word读取表格存列表封装优化,节省读取时间 1 .安装并导 ...

最新文章

  1. mysql 如何搜索自增列_mysql 如何搜索自增列
  2. qint64转为qstring qt_Qt项目中TCP通信的实现方式经验总结(服务端部分)
  3. 剑指 Offer 53 - I. 在排序数组中查找数字 I(二分法)
  4. GDB调试程序(二)
  5. RPC和REST区别
  6. php 自动寻路算法,PHP树-不需要递归的实现方法
  7. 自然语言处理技术在推荐系统中的应用和发展(附交流视频和PPT下载链接)
  8. Java中判断一个字符串全为数字和字母
  9. 菜鸟的学习之路(12) —HashSet类详解
  10. 计算机课程哪个网校比较好,计算机软考在线学习哪个好
  11. 利用t-SNE可视化Glove向量
  12. SAP Hana 数据库游标使用方法示例
  13. fastq质量值_fastq碱基质量值转化
  14. GNU ARM 汇编基础笔记
  15. Jackson –将JSON数组字符串转换为List
  16. 星际争霸II对抗 PYSC2平台 深度强化学习 学习笔记(一)- 环境搭建
  17. PAT基础-厘米换算英尺英寸 JAVA
  18. template波浪线
  19. 基于vue的组织架构树组件_Vue组件基于D3.js布局显示树
  20. 自然语言处理NLP星空智能对话机器人系列:深入理解Transformer自然语言处理 WMT数据处理

热门文章

  1. 琪琪格不因为漂亮而自信
  2. 战争迷雾效果 第1章_要探索,不要地图全开!
  3. 汤普森算法_什么是汤普森采样(Thompson sampling)?
  4. Android系统开机画面修改
  5. QT 在 macos 上的透明bug Qt::WA_TranslucentBackground
  6. Magento(CE1.X)自带模块解析五
  7. unity学习手记之角色动画
  8. (附源码)springboot水利机械厂仓储管理系统 毕业设计 091408
  9. 小技巧|H5禁止手机虚拟键盘弹出
  10. 51ditu Maps API 类参考文档