数据分析师通常必须每周和每天向或商业团体发送数据报告。每天整理同一份报告既浪费精力又毫无意义。这种简单而重复的工作应该由python来完成
在这里,我们主要借助pymysql、openpyxl、email和smtplib模块来使用Python。Pymysql用于连接和检索数据。Openpyxl用于编写excel,email和smtplib用于处理邮件、建立服务器链接和发送邮件
[千欧]
第一步是建立连接和访问。Host是要连接的MySQL服务器的地址,port是服务器的端口号,user和passwd分别是用户名和密码,DB是名。字符集是一种连接代码,通常是utf8
[k1号]
第二步

是将收集到的数据写入事先调整过的excel模板。在这里,我需要将四个数据(date1~date4))放入excel。Openpyxl可以读写excel2010文档,是一个很好用的模块,详细的功能可以自编百度。工作簿是您打开或创建的文件。可以通过表名定位每个工作表,并通过坐标获取每个单元格,即单元格对象
[k3号]
文件保存后,一些领导更喜欢直接在邮件正文中看到数据内容,邮件正文是空的,不好看。所以我们可以在Excel中截取一些核心数据,并将其放入电子邮件正文中。这里使用的模块是Win32com客户端它可以直接调用VBA库,也可以用于截图,可以弥补openpyxl无法实现的一些功能
[k4号]
第三部分是写邮件内容并发送。Smtpserver是您登录账号的目标服务器,可以是163、QQ或您公司的企业邮箱等,例如QQ邮箱是。Mimemultipart表示一个邮件对象,它可以分为文本邮件对象mimetext和图片对象mimeimage作为附件。利用mimemultipart的attach功能,将数据图像以HTML格式插入邮件正文

[k6号]
完成函数,然后添加触发器,即使程序已完成
[k7号]
当您测试程序并且没有报告错误时,您可以转到最后一步:计时。在这里,我使用windows的计时任务工具-任务调度器
[k8号]
[k9号]
打开任务调度器,点击【创建基本任务】,根据需要简单填写名称,点击【下一步】,进入触发界面。您可以选择每日、每周或每月。设定一个好的时间和频率,选择写在你面前的脚本。只需点击下一步。因为上传图片太麻烦了,我这里不拍截图
[k10号]
[k11号]
[k12号]
[k13号]
自动电子邮件报告在这里完成。如果你有任何问题,请过来和我分享~
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-358800-1.html
还对美国抱有幻想