为什么想做报表自动化
我每周都要做一份销售报表。从不同的系统导出数据,整理成Excel,然后发给领导。
每周花2小时做报表,一年就是100小时。我觉得太浪费了。
后来我想:能不能用Python自动做?
具体怎么做
我的方法很简单:
第一步:用pandas读取所有数据源。不管数据来自什么系统,pandas都能读取。
第二步:用pandas进行数据处理。合并、筛选、分组、求和,一行代码搞定。
第三步:用openpyxl生成Excel报表。设置格式、颜色、图表,全部自动化。
第四步:设置定时任务。每周五下午5点自动运行,生成报表并发到公司群。
整个过程不到30分钟。原来要花2小时,现在只要10分钟准备代码,之后完全自动化。
几个实用技巧
第一,用环境变量管理配置。不要把数据库密码写在代码里,用环境变量。这样换机器也能运行。
第二,加日志记录。每步操作都写日志,出了问题能快速定位。不要用print,用logging模块。
第三,加错误处理。数据源可能出错,比如文件不存在、数据格式不对。加try-except,出了问题自动发邮件通知。
第四,用GitHub托管代码。这样换机器也能直接拉取代码,不用重新配置。
用Python做自动化报表后,我每周节省1.5小时。一年就是75小时。这75小时可以用来做更重要的事情。
收藏起来,下次写周报直接照着做。