python能否实现邮件合并功能?

经常使用word办公的小伙伴们经常会遇到邮件合并的任务,通常会将数量有限的表格中的信息通过word的邮件合并功能,自动生成word文档,操作熟练的技术员通常不到十分钟就可以合并几十份邮件。那么如果遇到成千上万份的邮件需要合并并且需要各自生成文件呢?一个excel大佬也需要很长时间吧!既然我们很难在excel上追上大佬的脚步,何不另辟蹊径,找一条更适合自己的方法呢?
我是一年多前接触到python自动化办公的,通过进一步的学习,发现平时我们的办公效率可以通过使用python的自动化办公方法从而进一步提升,而且这种提升是很容易就可以实现的。如果你花了不到一个月的时间学习了简单的自动化办公技巧,那么我可以想象得到,某一天会真实发生的一种情景:在公司做报表的那一天,其他同事都在慌里慌张的敲打着键盘,到了下班点之后,他们不仅没有回家感受家的温暖,还要遭受老板的冷眼,任务没有完成是不能回家的,即使有多晚。那么这个时候,你早已经保质保量的完成了所有任务,在其它同事手忙脚乱的时候,你在悠闲的喝着咖啡,沐浴在领导今天对你的赞美之中,默默感叹,生活如此多娇,下班后去干嘛呢?,
下面随我一起走进python自动化办公的第一站:邮件合并。
如果word模板文件长这个样子(为了演示自动化办公效果,邀请函是随意写的):
当然,对于到进行邮件合并的位置,我们同样和word邮件合并一样,需要添加域。
邀请函有了,那么表格哪里找呢!对于初学者来说,对于这种实例性很强的项目,没有数据,可以宣布50%已经放弃了。那么,在以后的学习过程中,没有数据,当然我们要自己创造数据。如下代码所示,我们可以创建有name、mail、date的csv文件来,并且实现邮件合并的功能。

下图是自动生成的word文档。
简简单单的几行代码就可以完成邮件合并功能,如果有几千份数据源,当然,稍微修改下代码,就可以在几秒钟完成邮件合并,岂不乐哉?
如果对我的文章感兴趣,请为我点一个赞,如果有python的知识需要了解或探讨,可以加本人微信cuiliang

}

text ) 信号currentIndexChanged 是在单击选择框仅当所选内容前后有变化时才会出发此信…

Box组合框对应PyQt中的类/question//answer/来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 程序员就不得不去了解微软封装起来的东西,所以我认识的.net程序员几乎人手一…

jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以,一般用带有min的,是压缩版的,如果还要引用其他js文件的话,一定要juery包在上面,其他的引用放在他下面 先来看看如果使用Juery的话,怎么来引用Juery包

来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的方向,思考能为商户或者业务做点什么来体现其身价值,这样的转变是机会也是挑战,我一直相信在特别的环境下能迅速磨练出了跨岗位技能和综合素质,然而一路走来也发现了自己的短板(所谓的产品思维),并非想提升就可以,有时候感到自己很无能. 于是这样熬过来,暗示自己保持积极乐观的心态,平时使用一些通用的方法来提醒…

一直没有搞清楚NSString.NSArray.NSDictionary--属性描述关键字copy和strong的区别,看别人的项目中属性定义有的用copy,有的用strong.自己在开发中也是没有认真的去研究,至于使用copy还是用strong完全是根据心情随性而为,也一直没有出什么问题.可苹果竟然分了两个关键字,就肯定有其用意,为了提高自己还是要仔细的搞清楚其中之差别!好了,废话说完进入正题.

CPU开始迈向64位的时候,有2选择:1.向下兼容x86.2.完全重新设计指令集,不兼容x86.AMD抢跑了,比Intel率先制造出了商用的兼容x86的CPU,AMD称之为AMD64,抢了64位PC的第一桶金,得到了用户的认同.而Intel选择了设计一种不兼…

}

众所周知word/WPS中的邮件合并功能可以根据word模板从excel表格中读取数据,进而生成不同的文件

但Excel却没有这个功能,如果需要根据excel表格模板生成不同文件的话,手动填写就显得很麻烦

举例:需对1、2图片模板表格的2个sheet中所有’{姓名}‘、’{案卷号}'修改为第3个图片表格的数据,按姓名保存为不同文件


使用程序读取数据excel表格,对固定模板excel表格指定内容进行替换,并生成文件,就是一个比较好的选择

实际使用中,模板excel表格中单个单元格内,可能有多个需要替换的内容,为便于使用,单独将字符串替换功能写为函数

将字符串string中所有与替换字典kwargs中key相同的字符串,替换为value

优点:速度快;缺点:单元格赋值会改变单元格格式

方法1只能生成xls格式excel表格,如果需要生成xlsx格式,参考方式2

优点:单元格赋值不改变格式,缺点:较方式1速度太慢

对2种方式的文件生成速度进行测试:生成1500个文件,方式1用时12秒,方式2用时98秒

pywin32模块可以直接调用Excel程序,试验使用该模块实现以上功能

测试结果:由于运行太慢,只测试生成150个文件,却用时494秒

既然试验了pywin32调用Excel程序实现邮件合并功能,为什么不直接在Excel中使用VBA呢?

测试结果:生成1500个文件,用时338秒

}

我要回帖

更多关于 python收发邮件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信