
文章图片

文章图片

文章图片

文章图片

文章图片

文章图片

文章图片
大家好 , 欢迎收看思路实验室出品的Python入门教程 , 我是室长 。
在上一期我们了解了如何使用Word的邮件合并功能来批量地生成Word文档 。 说实话这个过程有点像Python中对字符串添加f前缀来向字符串中插入变量值 。 不同在于向字符串中插入的变量是由花括号括起来的 , 而在Word中则是书名号 。
在Word中 , 这种“变量”被称为域 。 域在Word中可以说是神通广大 , 不管是页码、目录还是参考文献引用 , 用上域绝对会让你事半功倍 。 不过今天我们还是专注于邮件合并中的域 。
在邮件合并功能中 , 每个域起到的都是变量的“占坑位”功能 。 所以邮件合并的顺序是这样的:
首先 , 给Word文档挖好坑(放置好域) 。
其次 , 准备好数据表格 。
最后 , 把数据表格中的值对号入座填入坑里 , 每一行数据就生成一个新的文档 。
对于普通的办公族来说 , 学会这些已经是飞跃式的进步了 。 但我们不一样 , 毕竟我们是学了那么久Python的人 , 懒的程度已经突破天际了 。 为什么非要把数据整理到表格里再填入Word , 为什么还要一步一步跟着邮件合并向导走?完全没必要啊!
今天室长就来教大家用Python来自动化生成Word文档!
首先绕不过去的一步还是给Word文档挖坑 , 建立文档模板 。 不过这回我们并不需要使用邮件合并向导 , 而是直接在文档里插入域 。 将光标移至想要挖坑的位置 , 点击插入选项卡→文档部件→域:
选择域类别为邮件合并 , 域名为MergeField , 域属性里的域名由自己来设定 , 其他选项也根据自己的需求进行设定 。
可以看到带有书名号的域名就出现在了文档的相应位置 。 我们可以点击这个域 , 发现整个域的背景变成了灰色 , 证明这是一个整体 。 还可以拖动光标将域选上 , 对其格式进行修改 , 这样的话当域填充了内容时 , 内容也会是这个格式 。
我们再多挖几个:
坑挖好了 , 我们就可以进入编程的阶段了 。 使用Python实现邮件合并功能需要安装额外的模块 , 这方面的模块有几个 , 这里室长选择的是docx-mailmerge2模块 。 需要注意安装之后我们要导入的模块名是mailmerge而不是docx-mailmerge2 。 我们可以直接导入模块中的MailMerge类:
随后创建MailMerge的实例 , 参数是文档模板的路径 。
这样我们的模板就准备好了 。 接下来我们可以使用merge方法向模板中填入数据 , merge方法中的关键字参数就是我们在Word文档中各个域的域名:
【Python|用Python自动化生成Word文档】当然 , 最重要的就是把填好内容的文档存储下来 , 这里需要调用write方法:
赶快打开看看吧:
- 雷军宣布小米13系列将很快登陆全球市场:国外用户激动坏了在中国市场发布后|雷军宣布小米13系列很快登陆全球市场:国外用户激动坏了
- 腾讯云智能打法首揭秘!4条快速路让AI“开箱即用”
- 虚假宣传?特斯拉被勒令免费升级自动驾驶硬件:老用户狂喜
- 近日|余承东:没有5G,我们用4G增强+WIFI 6来弥补
- “通信行程卡”12月13日下线!中国信通院、三大运营商同步删除用户数据
- 终于有人用 AIGC「干正事」了—— 设计蛋白质
- OPPO|OPPO二代自研芯片马里亚纳Y亮相:蓝牙耳机专用
- 贝尔金推出了一款65W双口氮化镓充电器|一款小小充电器近300元用料如何?贝尔金65W氮化镓快充拆解
- 苹果|iPad 10耐用性测试:惨遭一掰两半!质量堪忧
- 宽带|全球第一次:万兆家用宽带成了!上传、下载都是几千兆
