首先想到 word 自身的替换功能,倒是能查到,但是没法动态替换,即只替换两边引号,而不换中间内容;另外一种方案是,即用 VBA,通过编程来替换,虽说做过几个项目,可好久不用,拾起费劲,再加上 VBA 中各种概念和用法,学习成本太高,放弃;
还有一种方案,即用 Python 操作 word,首先对 Python 更熟悉,另外一定有别人造好的轮子。果然,没用多久到了 python-docx Python 库,文档齐全,功能强大,用来解决替换问题不在话下。
开始之前,先简单了解下 python-docx
python-docx 介绍
python-docx 是用于创建可修改 微软 Word 的一个 python 库,提供全套的 Word 操作,是最常用的 Word 工具
概念
使用前,先了解几个概念:
Document:是一个 Word 文档 对象,不同于 VBA 中 Worksheet 的概念,Document 是独立的,打开不同的 Word 文档,就会有不同的 Document 对象,相互之间没有影响
python中文文档Paragraph:是段落,一个 Word 文档由多个段落组成,当在文档中输入一个回车键,就会成为新的段落,输入 shift + 回车,不会分段
Run 表示一个节段,每个段落由多个 节段 组成,一个段落中具有相同样式的连续文本,组成一个节段,所以一个 段落 对象有个 Run 列表
例如有一个 Word,内容是:
word 文档内容
则 结构这样划分:
第二个 段落(paragraph),没有内容,所以 节段(run)为空
安装
可以用 pip 来安装:
命令行中运行下面语句,如果没有报错,则说明安装成功
小试牛刀
python-docx 安装后,测试一下:
定义一个新文档对象 document
想文档中插入一个段落(paragraph)
再在这个段落(paragraph)前插入另一个段落
最后调用文档对象 document 的 save 保存文档

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。