社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

Python小屋 • 7 年前 • 658 次点击  

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

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

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

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

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

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


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

最后,调用前面定义的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



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/ADWtFeiP3p
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/24382