事情是这样的,做生产管理的小伙子跟我抱怨,老是每周要提交PPT周报,真的很麻烦,希望能有办法解决这个问题。
当然,经过了解调查,他目前需要定期在公共区域播放PPT,PPT数据来源与整理好的Excel数据,细细想来,周期性的做报告,确实比较烦。分析了一下他的需求,他这种类型基本上属于机械的,重复的,与电脑相关的工作,哪里有不爽,哪里就有机会~确实是这样,这不机会来了嘛!RPA又有机会露一手啦。
整个工作的流程方式是这样的:
其实,万变不离其中,目前的大数据技术基本的思路也是这样:数据采集->数据清洗->数据存储->数据挖掘
根据与小伙子了解,数据采集目前还是手工的去网站上面下载相关数据,然后去除异常数据,操作完成后保存至指定的Excel. 后来我考虑了一下,数据采集这一步是可以通过selenium实现自动采集的,考虑到项目的快速实施,就没有推荐给他。要不然,他就什么事情也不用干了,这个暂时还不好,当然,后期如果直接形成数据流闭环,比如通过数据采集后直连SQL,再通过PowerBI展示出来,就全链路闭环了。
这篇文章中,主要跟大家分享通过python制作PPT展示,点点鼠标就完成PPT周报。当然,这是有前提条件的:1,准备好数据源;2,准备好PPT模板。这两个条件应该都已经具备了。Python制作PPT周报大致步骤如下:
在程序设计阶段,主要使用了如下几个Python库:
Import python-pptx
Import matplotlib
Python-pptx这个库的主要作用是通过这个库可以实现对PPTX的操作,包括增删slide,修改slide元素,插入Table, 插入图片等。在这个案例中,设计步骤如下:
- 读取PPT模板
- 向PPT模板中插入母版页
- 向指定的PPT页面中插入元素,如Table, 图片,图表等
- 保存,完成PPT的编写
其中,最核心的部分在于元素的操作,我本来计划通过PPT自带的图表功能实现插入图表,后来发现有一些图表的属性很难修改,只能果断放弃这样的方式,采用通过matplotlib先生成图表,然后插入silde的方法,插入Table的过程比较顺利,基本可以做出符合要求的表格。
Python脚本弄完后交给小伙子,他双击了一下,等待了大概20秒,然后,PPT周报就完成了,就这么简单。
同时,将这个脚本接入RPA平台,从后台就可以看到这个脚本的运行状况。在这个脚本编写的过程中,也有一些不完善的地方,数据源来源于excel,如果excel的格式稍有变化,脚本就跑不下去了,目前看,这算是小快灵的方法,完善的方式是接入PowerBI平台。
需求是变化的,也许这是目前最优的解决办法。