Python批量下载电子邮件附件并汇总合并Excel文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/oh5W6HinUg43JvRhhB/article/details/82836882

前几天在公众号搞了一波送书活动,详见福利:免费赠送240本Python教材,该文推送之后,立刻收到了大量的样书申请表,那么接下来的工作就是下载这些邮件附件并汇总信息准备邮寄。对于这样重复性很强且没有太多技术含量的工作,很明显使用人工处理是不明智的,基本上几百份申请表处理完以后颈椎腰椎肩周都会出毛病了。

每当遇到这样的情况,我们就要在心底轻轻地默念咒语“我不是一般人,我会Python,Python一定能帮我快速处理好这个事情”。明确了要处理的任务之后,接下来的事情就是理清思路、查阅要使用的标准库和扩展库、搭建代码框架、填充框架完善代码,直到最终完成任务。

首先,通过查阅资料,了解电子邮件和Excel文件的结构,确定要用到的标准库和扩展库,并进行导入:

640?wx_fmt=png

然后,让我们把代码框架搭建起来,定义两个函数getAttachments和mergeExcels,具体的函数代码可以先用pass代替一下,然后编写主函数main来调用这两个函数,如图所示:

640?wx_fmt=png

编写getAttachments函数代码,实现邮件附件下载功能:

640?wx_fmt=png

接下来,编写函数mergeExcels的代码,完成合并Excel文件的功能:

640?wx_fmt=png


在代码中用到的汇总表模板如下图所示:

640?wx_fmt=png

最后,调用前面定义的main函数,运行代码即可。当然,在运行过程中可能会遇到一些错误,这是正常的。这时,要仔细阅读错误信息,纠正所有的拼写错误,在适当的位置插入print函数输出关键变量的值来辅助确定错误原因。

运行上面的程序,只需要不到2分钟的时间,就批量下载并合并了630份样书申请表。然后又利用排序等方法人工复核了汇总后的Excel文件,删除了重复发送申请表造成的重复信息,重点检查邮寄地址是否详细,通过网络搜索完善了几十条不完整的邮寄地址,删除了几十条地址非常不详细且无法搜索到详细地址(例如只写了学校名称,而学校官方网站上也没有详细地址)的信息,最终确定有效信息272条,这个过程花了2个小时,汗。。。。。。这次送书活动原计划赠送240本,在清华大学出版社白立军编辑的大力支持下,又增加了32本。所有赠书将于近日陆续由清华大学出版社直接寄出,请老师们注意查收。



----------相关阅读----------

教学课件

1900页Python系列PPT分享一:基础知识(106页)

1900页Python系列PPT分享二:Python序列(列表、元组、字典、集合)(154页)

1900页Python系列PPT分享三:选择与循环结构语法及案例(96页)

1900页Python系列PPT分享四:字符串与正则表达式(109页)

1900页Python系列PPT分享五:函数设计与应用(134页)

1900页Python系列PPT分享六:面向对象程序设计(86页)

1900页Python系列PPT分享七:文件操作(132页)

1900页Python系列PPT分享八:异常处理结构与程序调试、测试(70页)

报告PPT(163页):基于Python语言的课程群建设探讨与实践

非计算机专业《Python程序设计基础》教学参考大纲

计算机相关专业“Python程序设计”教学大纲(参考)

报告PPT(123页):Python编程基础精要

《Python程序设计》实验指导书(30个实验)


微课系列:

微课系列(四):Python中map对象的几种用法和注意事项

微课系列(三):Python列表中存储的是元素的引用

微课系列(二):列表方法sort()和内置函数sorted()的稳定排序特点

微课系列(一):Python列表remove()方法工作原理


系列题库分享

1000道Python题库系列分享一(17道)

1000道Python题库系列分享二(48道)

1000道Python题库系列分享三(30道)

1000道Python题库系列分享四(40道)

1000道Python题库系列分享五(40道)

1000道Python题库系列分享六(40道)

1000道Python题库系列分享七(30道)

1000道Python题库系列分享八(29道)

1000道Python题库系列分享九(31道)

1000道Python题库系列分享十(37道)

1000道Python题库系列分享十一(9道)

1000道Python题库系列分享十二(9道编程题)

1000道Python题库系列分享13(22道填空题)

1000道Python题库系列分享14(1道代码阅读题)


相关阅读

Python监视电子邮箱并提示收到新邮件

使用Python实现电子邮件群发功能

使用Python分析最新2000封电子邮件的时间分布


--------董付国老师Python系列图书--------

1)《Python程序设计(第2版)》清华大学出版社(2018年8月第9次印刷)

2)《Python可以这样学》清华大学出版社(2018年7月第6次印刷)(本书已发行繁体版)

3)《Python程序设计基础(第2版)清华大学出版社(2018年9月第5次印刷)

4)《中学生可以这样学Python》清华大学出版社(2018年5月第2次印刷)

5)《Python程序设计开发宝典》清华大学出版社(2018年2月第3次印刷)

6)《玩转Python轻松过二级》清华大学出版社(2018年7月第3次印刷)

7)《Python程序设计基础与应用》机械工业出版社(2018年9月第1次印刷)

董老师127课免费视频地址: https://pan.baidu.com/s/1jJeAs8Q 密码: px59


猜你喜欢

转载自blog.csdn.net/oh5W6HinUg43JvRhhB/article/details/82836882