本篇文章小编给大家分享一下python实现自动化办公邮件合并功能代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
如果word模板文件长这个样子(为了演示自动化办公效果,是随意写的):
当然,对于到进行邮件合并的位置,我们同样和word邮件合并一样,需要添加域。
有了,那么表格哪里找呢!对于初学者来说,对于这种实例性很强的项目,没有数据,可以宣布50%已经放弃了。那么,在以后的学习过程中,没有数据,当然我们要自己创造数据。如下代码所示,我们可以创建有name、mail、date的csv文件来,并且实现邮件合并的功能。
import pandas as pd import numpy as np import random import csv from mailmerge import MailMerge #生成姓名 def create_fname_data(): word_select = [] for i in range(97, 123): word_select.append(chr(i)) print(word_select) name_select = [] for i in range(6): name = '' for i in range(5): name += random.choice(word_select) name+=' ' for i in range(5): name += random.choice(word_select) name_select.append(name.title()) print(name_select) return name_select #生成邮箱 def create_mail(): word_select=[str(i) for i in range(9)] all_number_select=[] for i in range(6): number_select='' for i in range(10): number_select+=random.choice(word_select) endwith=['@163.com','@qq.com','@icloud.com'] number_select+=random.choice(endwith) all_number_select.append(number_select) return all_number_select #创建csv文件 def add_csv(): df=pd.DataFrame( { 'name':pd.Series(create_fname_data()), 'date':pd.Series(pd.date_range('20210101',periods=6)), "mail":pd.Series(create_mail()), } ) print(df) df.to_csv('./data/random_data.csv') if __name__ == '__main__': add_csv() with open('./data/random_data.csv',encoding='utf-8') as f:#邮件合并数据目录位置 reader=csv.reader(f) next(reader) for index,name,date,mail in reader: doc=MailMerge('./data/test1.docx')#模板文件目录 print(name,mail,date) doc.merge(name=name,mail=mail,date=date)#邮件合并 doc.write(f'./data/{name}.docx')#写入文件
下图是自动生成的word文档。
简简单单的几行代码就可以完成邮件合并功能,如果有几千份数据源,当然,稍微修改下代码,就可以在几秒钟完成邮件合并,岂不乐哉?
摩尔庄园 安卓官方版v2.9.24091002S
摩尔庄园很多小伙伴一定都在小时候玩过,但随着我们年龄的增长淡
梦幻庄园最新版 官方正版v1.0.0
梦幻庄园是一款非常好玩的模拟经营类游戏,玩家在游戏中有一个属
合并梦幻岛免内购版 v2.1.0
合并梦幻岛无限内购版是游戏的破解版本,在该版本中为玩家解锁了
无悔华夏魅族版 2025最新版v3.5.194
无悔华夏魅族版是一款超级好用的模拟经营游戏。在这里玩家们需要
月影别墅官方安装包2025版 安卓版v2.3.24
月影别墅官方安装包2025版是一款匠心独具的乙女向剧情游戏,