RPA,是Robotic Process Automation的英文缩写,中文是机器人流程自动化,利用软件将重复性的工作自动化。基本目标是让人从重复性强的繁琐工作中解放出来去做更有意义更具创造性的工作。比如自动爬取网站内容、将十几个Excel中数据合并分析、定时发送邮件等都是简单的RPA应用的例子。
加上如今AI技术的快速发展,能极大地扩展软件自动化的应用范围,可以实现更复杂的功能。比如,可以通过图像识别、语义理解等技术将图片、特定格式的文档等非结构化数据转换为结构化数据,自动提交到数据中心,然后基于机器学习算法定时分析结果生成报表并发送到邮箱。
RPA的本质是让计算机自动为人服务,RPA就像一个粘合剂,通过RPA人不需要对计算机操作细节,只需要指挥计算机执行某个任务就行了。
现在国内外有不少功能在研发RPA软件用于实现流程自动化。但作为一个Python程序员,我觉得Python是实现RPA的天然工具。
Python作为RPA工具有以下优势:
一方面,Python语法简单,容易上手。而且早期Python起源就是作为c语言和shell脚本之间的中间层而被开发出来(详见漫画Python三十年),可见它本身就有这方面的基因;
另一方面,Python应用范围广阔,包括系统管理、文件处理、邮件发送、机器学习、深度学习等,基本上都有免费开源的类库可以使用,RPA需要的功能Python基本上都可以支持,不需要自己再重新开发。
有兴趣的同学可以基于Python根据自己的需要定制一套强大的自动化系统。但根据业务不同实现方式也不能一概而论。这里收集整理了几个常用自动化处理工具库供大家参考学习,能力有限,不足之处请多指正。
概要如下图:
1.Excel自动化
功能:实现对excel文件的增删改写、格式修改等
常用库:xlwings、xlrd、xlwt
2. Word自动化
实现功能:对word文件的增删改写、格式修改等
常用库:python-docx
官方示例:
3. PPT自动化
实现功能:对PPT的创建和修改
常用库:python-pptx
简单示例:
4. 邮件自动化
实现功能:构造邮件和发送邮件
常用库:smtplib和email
smtplib