数据分析师必不可少的一项工作就是给领导或者业务发送各种日、周、月报,或者各种 项目周期性的报告。在这项工作上花费时间占比越少的分析师其等级应该是越高的。因 为只有从取数中通过自动化释放出来,才能将更多的时间用于看数、分析数据。利用自 己的数据敏感性发现更多的业务机会。从而提高自身的价值输出。
基于此:通过Python结合星耀级数据分析工具Excel来实现上述目的。达到自动化工作。
这里主要使用的是:Pyhon3.7(工作环境)\impala(连接数据库)\openpyxl(操作Excel)\email(发送邮件)\win32com(实现截图)\PIL(实现截图)
传统工作方法:建立好Excel汇报的模板后 日常:收集或者获取数据之后导入模板,更新模板。发送邮件或者截图汇报。 自动化处理:1、通过impala连接数据库、获取数据 2、通过openpyxl对数据进行操作,例如导入模板的数据源。或者更新透视表等等 3、通过win32&PIL实现截图保存或者通过email发送邮件。 4、通过定时执行任务,实现自动化流程。
from impala.dbapi import connect #数据库的连接与获取数据
import pandas as pd #数据的一些操作使用
import openpyxl as op #操作EXCEL主要的包
import os #修改工作表路径
import email
import win32com.client as win32
import smtplib
from PIL import ImageGrab #用于获取复制的图片
#修改路径到桌面
os.chdir(r'C:\Users\WIN7\Desktop\self_project\ZX_OK')
os.getcwd()
#第一步建立数据库的连接与获取数据
def connectDatabase(sql):
conn = connect(host='AAAA',
port=25000,
user='AAAA'