专栏首页Python小屋Python批量下载电子邮件附件并汇总合并Excel文件

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

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

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

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

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

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

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

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

本文分享自微信公众号 - Python小屋(Python_xiaowu),作者:董付国

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-09-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python多线程编程基础3:创建线程与调用函数的区别

    在上一节Python多线程编程基础2:如何创建线程中,我们已经知道,创建线程并运行实际上也是执行一段代码,那么把这些代码封装到函数中之后,直接调用函数和创建线程...

    Python小屋屋主
  • 在Python程序中设置函数最大递归深度

    在函数调用时,为了保证能够正确返回,必须进行保存现场和恢复现场,也就是被调函数结束后能够回到主调函数中离开时的位置然后继续执行主调函数中的代码。这些现场或上下文...

    Python小屋屋主
  • Python嵌套定义函数增强reduce()函数功能

    2)functools标准库中的reduce()函数第一个参数可以是函数或lambda表达式,这个函数必须接收两个参数。

    Python小屋屋主
  • 远程线程注入引出的问题

    远程线程注入引出的问题 一、远程线程注入基本原理 远程线程注入——相信对Windows底层编程和系统安全熟悉的人并不陌生,其主要核心在于一个Windows AP...

    Florian
  • Wannacry深度解析:第一阶段tasksche

    WannaCry 勒索软件是2017年最热门的勒索软件,它利用微软漏洞在全球范围内发起的攻击令世界上100多个国家的成千上万的用户深受影响。俨然一场全球范围内的...

    FB客服
  • 函数式编程,真香

    最开始接触函数式编程的时候是在小米工作的时候,那个时候看老大以前写的代码各种 compose,然后一些 ramda 的一些工具函数,看着很吃力,然后极力吐槽函数...

    桃翁
  • 【译】JS的执行上下文和环境栈是什么?

    这篇文章中,我将深入探讨JavaScript中的一个最基本的部分,即执行上下文(或称环境)。读过本文后,你将更加清楚地了解到解释器尝试做什么,为什么在声明某些函...

    嘉明
  • 一个程序员的自我修养

    一天晚上,我和老婆聊天,说部门要我写个“大咖谈软件”的文章,老婆斜了我一眼,淡淡地说:“Linus大神21岁就写出了Linux内核的雏形,缔造了一个自由主义的开...

    Fundebug
  • 我在华为写了13年代码的一些感悟

    本文来自《华为人》,作者:徐宏伟 原标题:写了十几年代码,我为什么还没有被拿去“祭天”?

    奋斗蒙
  • 程序员写出这样的代码,能不挨骂吗?

    针对接口输入参数,没有进行严格校验,尤其是要插入数据库库的参数,一路透传到底(数据库层面),数据库就报数据插入异常。

    一猿小讲

扫码关注云+社区

领取腾讯云代金券