还在做重复的劳动,不如用Python自动生成Excel以邮件发送

数据分析师小王每天都要被各种各样的数据数据报表搞得焦头烂额,比如老板的,运营的、产品的等等。而且大部分报表都是重复性的工作。这篇文章就是帮助大家如何用Python来实现报表的自动发送,解放你的劳动力,可以让你有时间去做更有意思的事情。

要点:

·pymysql 一个可以连接MySQL实例并且实现增删改查功能的库

·datetime Python标准库中自带的关于时间的库

·openpyxl 一个可以读写07版以后的Excel文档的库

·smtplib SMTP即简单邮件传输协议

·email 一个用来处理邮件消息的库


01.准备工作,导入相应的库

数据分析师日常大部分工作需要熟练掌握SQL和excel打交道,而且很多数据都带日期。所以我们需要导入下面这些模块:

pymysql,openxl,datatime,当然还有自动发邮件的email和smtplib模块。


还在做重复的劳动,不如用Python自动生成Excel以邮件发送_第1张图片

02.连接SQL

现在主流的数据库有两大类,SQL和NoSQL,虽然Mongodb非常灵活和简单,但是大部分公司的数据库还是用Mysql比较多的!所以我们需要掌握一些基本的python操作数据库的知识!

1).执行一条sql,获取数据


还在做重复的劳动,不如用Python自动生成Excel以邮件发送_第2张图片

2).执行sql,获取字段数据


还在做重复的劳动,不如用Python自动生成Excel以邮件发送_第3张图片


03.数据写入Excel

用Python操作excel其实非常简单,前面我们的入门教程里有详细的讲解(关于Excel表格如何处理|这篇最用心)。用openpyxl建一个excel对象,然后建一个sheet,接着一个循环把一个一个单元格写数据即可!


还在做重复的劳动,不如用Python自动生成Excel以邮件发送_第4张图片

04.处理日期数据

大部分的数据都是需要时间戳的,用Python操作时间可以用time,datatime这样的模块。里面有大量非常方便的函数。


还在做重复的劳动,不如用Python自动生成Excel以邮件发送_第5张图片

05.生成邮件

经过前面的几个步骤,我们的准备工作差不多了!该重头戏自动发送邮件出场了,编写一个发送邮件,无非这么几步:

1).编写邮件内容


还在做重复的劳动,不如用Python自动生成Excel以邮件发送_第6张图片

用email模块生成邮件的标题,内容,发件人和收件人。如果有附件的话,我们插入附件的文件。

2).发送邮件

准备好邮件的内容之后,我们用smtp模块链接上服务器,填入用户名和密码。当然一定要有异常处理,所以涉及到服务器的处理,都需要有异常处理!


还在做重复的劳动,不如用Python自动生成Excel以邮件发送_第7张图片

06.大功告成,看一下效果

忙活了半天,总于可以看一下运行的效果了!输入一条sql查询语句,然后初始化一些邮件的标题,然后填入一堆运营部门,产品部门的邮件地址。然后倒杯咖啡,漂亮的按一下回车,欣赏自己的劳动成果!


还在做重复的劳动,不如用Python自动生成Excel以邮件发送_第8张图片


还在做重复的劳动,不如用Python自动生成Excel以邮件发送_第9张图片

看一下效果:


还在做重复的劳动,不如用Python自动生成Excel以邮件发送_第10张图片


还在做重复的劳动,不如用Python自动生成Excel以邮件发送_第11张图片

在学习中有迷茫不知如何学习的朋友小编推荐一个学Python的学习裙[663033228]无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

你可能感兴趣的:(还在做重复的劳动,不如用Python自动生成Excel以邮件发送)