文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
大家好 , 欢迎收看思路实验室出品的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方法:
赶快打开看看吧:
- |华为手机的这些功能你知道吗?看似冷门,实际在生活中很好用
- 5G|iOS 16的家庭共享有多强?我用过公测版,发现这些功能国产也不差
- 平板电脑|小天才平板被约谈,还敢给孩子用吗?
- 高通骁龙|轻松用四年,1500元左右的高性能机型盘点,只推出这四款
- 软件|新买的手机不要着急插卡使用,先设置一下这三个地方,丝滑如初!
- 联想|联想小新Duet 2022官宣:二合一设计 四种使用模式
- 智能手机|5G这下有用了 iQOO 10系列手机首次支持双卡双通:打游戏来电不断网
- 华为mate|华为之后再无谁可阻挡苹果,预期iPhone14获国内用户热捧至亿部
- 本文转自:天目新闻长五就位|天目Tech+问天实验舱即将发射 飞入太空的实验室有何用途?
- 芯片|95%的好评率,M2芯片MacBookAir用户评价出炉,被超轻薄机身征服