这个分享就是为了给大家讲解如何实现办公自动化,我们需要理解并建立起Python高效办公的认识
首先我们要理解自动化办公是什么?其实就是高效自动化的处理各类office办公文件文档!!
Python与Excel(举例办公自动化之一)
先看一下代码的全貌,其实并不难喔~只是因为你们暂时还没学到,所以有些看不懂;但是酱酱相信,只要我们付出行动,坚持学习,我们就可以做到的,可如果不学,我们就不会!
相信大家的工作或者生活中,甚至学习都会遇到很多要处理Excel的表格,这个表如果我们可以使用Python进行自动化处理,那么将会更加高效,且解放双手!!
生物、互联网、财务、HR、等等现在绝大多数的工作都是要与数据打交道的,无论是系统导出的还是自己统计的,都是非常繁杂的事情
这里就以酱酱自己的工作为例子,我通常会接触非常多的学员,每一个学员的数据都是单独的学习报表,表内会有大家的学习进度,学习时间等等相关的学习数据
我就以我要统计1000个学员的数据为例子吧,我领导想要知道我接触的1000个学员的学习数据,来考核我的工作表现是是良好,em....能不能加工资就看这个了
首先我要合并1000个CSV格式的Excel表格,那么这里就有了1000个学员的数据啦,只有合并在一起,数据才会比较直观,且处理起来更加方便
每个表格共370列,约360行不等,列名相同,将1000个表格合并在一张表上
过去,就是Ctrl C + Ctrl V——那么我今晚可以睡公司了
Excel Power Query??估计等电脑卡崩了,还得用回方案1
敲代码!俗话说,没有什么是一行代码解决不了的,如果有,就再敲一行可行那就开始吧
首先,我把这个问题分解成四个小目标:
第一步,查找到工作表所在文件位置
第二步,提取表格
第三步,合并表格
第四步,导出表格
第一步,查找文件位置,首先我们导入python的os模块: import os
小知识点!!
这个模块是提供了非常丰富的方法用来处理文件和目录的,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件),经常要对大量文件和大量路径进行操作,这就依赖于os模块
使用os模块的walk方法输出指定目录的文件
for file in os.walk('F:/Document/学员数据'):
print(file)
小知识点!!
os.walk()方法用于通过在文件目录树种游走输出在目录中的文件名,是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情
我使用for循环遍历‘F:/Document/学员数据’,这个文件目录,得到一个(),这是“元组”(姑且理解为一个盛放东西的容器)。里面用两个逗号分成三部分:
1)第一部分就是我输入的文件夹目录。
2)第二部分是个空列表,不去管它。
3)第三部分也是一个列表,里面是我要提取的每个工作表。
第二步,提取表格!
首先,我需要知道工作表的文件路径,这很简单!完整的路径就是文件夹目录+工作表名称
然后,我定义一个列表,嗯…这也是个容器,容纳提取的1000个文件,接着,我导入pandas包,用read_csv()方法来提取工作表
小知识点!!
pandas包,是一款提取数据、清洗数据、处理数据的一个Python包
Python可以理解为容器的四种,列表、元组、字典、集合,这个会在专业课的第5-6关学习到的!
pandas.read._csv()方法,用来提取csv文件的方法
最后,写好循环,把提取的文件装进列表中
别忘了设置一个计数,用来运行时显示进度
第三步,合并表格;这里我们用到了pandas的concat方法。
pandas.concat()
小知识点!!
pandas.concat()这个就很简单啦,就是用于拼接多份数据的!
在此之前,我们学会了print(xxx+xxx+xxx)的拼接方法,后面我们就要学习这个啦!
合并刚才列表‘l’中的所有工作表到data_result这个变量中。
第四步啦!导出表格,马上就要大功告成
同样,解决问题的方法也来自于pandas这款神器。
pandas.DataFrame.to_csv()方法
小知识点!!
pandas.DataFrame.to_csv()方法,用于导出DataFrame数据为csv格式的,类似的还有pandas.DataFrame_Excel()等等,也就是说,不同的格式我们都是可以做到的啦
其实,pandas可以保存数据为许多种格式,这里我还是选择了最常用的csv格式。
让我们回顾一下代码全貌
代码不长,一共23行。
其中10-15行的是代码核心部分,这是实现工作表合并最基本的代码。
主要的工作思路是找到工作表所在的文件夹,提取其中每个工作表,合并它们,然后导出数据。(四个小目标)
代码虽少,复用性却很强,以后碰到类似的工作任务,我们只需要更改数据所在文件夹和导出数据的两个路径即可
合并这1000个报表,我们仅需2分钟即可!
(一秒合并excel数据)
PY11:合并Excel文件到同一张表格上.zip60.8KB
而这些模块,我们会在后续16关-17关模块调用的通用方法学习到
Python里面有超级超级多的Excel模块
当然我们不仅仅止于Excel,还有Word、PPT等常见的Python模块
比如docx 是 Word 文档的后缀名,很明显,python-docx 这个库是用来编辑 Word 文档的。直接使用 pip 安装就可以了。(这个在专业课的资料包是有的)
因此,在os 库用于打开模板文档的类同的方式下,我们还可以批量生成Word通知,处理Word文档,
其实,很多的自动化办公,在当下的专业课就可以实现,其实就是脚本啦,不用想得那么高大上,加油,我们也是可以做到的
那么我们来瞧一眼Python概况的库吧
最后,在整合各个脚本的情况下,我们公司的HR使用Python来处理所有员工的考勤数据,包含了出勤,请假,病假,上下班,加班,迟到,旷工,还有时间核对等等等等,多而繁杂的数据的脚本运行视频
全自动化Excel处理,过去5天的工作量,现在只需5分钟就好啦,HR就有大把时间去煲剧逛街啦
拒绝重复!从现在开始!同学努力学习吧!!!
----我是结束分割线----
联系客服