数据分析师小王每天都要被各种各样的数据数据报表搞得焦头烂额,比如老板的,运营的、产品的等等。而且大部分报表都是重复性的工作。这篇文章就是帮助大家如何用Python来实现报表的自动发送,解放你的劳动力,可以让你有时间去做更有意思的事情。
要点:
·pymysql 一个可以连接MySQL实例并且实现增删改查功能的库
·datetime Python标准库中自带的关于时间的库
·openpyxl 一个可以读写07版以后的Excel文档的库
·smtplib SMTP即简单邮件传输协议
·email 一个用来处理邮件消息的库
01.准备工作,导入相应的库
数据分析师日常大部分工作需要熟练掌握SQL和excel打交道,而且很多数据都带日期。所以我们需要导入下面这些模块:
pymysql,openxl,datatime,当然还有自动发邮件的email和smtplib模块。
02.连接SQL
现在主流的数据库有两大类,SQL和NoSQL,虽然Mongodb非常灵活和简单,但是大部分公司的数据库还是用Mysql比较多的!所以我们需要掌握一些基本的python操作数据库的知识!
1).执行一条sql,获取数据
2).执行sql,获取字段数据
03.数据写入Excel
用Python操作excel其实非常简单,前面我们的入门教程里有详细的讲解(关于Excel表格如何处理|这篇最用心)。用openpyxl建一个excel对象,然后建一个sheet,接着一个循环把一个一个单元格写数据即可!
04.处理日期数据
大部分的数据都是需要时间戳的,用Python操作时间可以用time,datatime这样的模块。里面有大量非常方便的函数。
05.生成邮件
经过前面的几个步骤,我们的准备工作差不多了!该重头戏自动发送邮件出场了,编写一个发送邮件,无非这么几步:
1).编写邮件内容
用email模块生成邮件的标题,内容,发件人和收件人。如果有附件的话,我们插入附件的文件。
2).发送邮件
准备好邮件的内容之后,我们用smtp模块链接上服务器,填入用户名和密码。当然一定要有异常处理,所以涉及到服务器的处理,都需要有异常处理!
06.大功告成,看一下效果
忙活了半天,总于可以看一下运行的效果了!输入一条sql查询语句,然后初始化一些邮件的标题,然后填入一堆运营部门,产品部门的邮件地址。然后倒杯咖啡,漂亮的按一下回车,欣赏自己的劳动成果!
看一下效果: