Python在处理自动化任务上的能力能够说是有目共睹、有口皆碑的。python
虽然Python能干的事情,大部分编程语言都能干,可是功能比Python强大的,没Python简单好使;比Python简单好使的,功能没Python强大。web
上回在公众号和知乎上发表回答了一篇《用python进行办公自动化都须要学习什么知识呢?》的内容,获得了不少反响:编程
公众号请戳这里:几百个Excel表格的内容要复制粘贴,如何一键自动化搞定?| 州的先生微信
在那篇内容里,州的先生介绍了使用Python的xlrd和xlsxwriter模块来读写Excel文件,来实现批处理Excel任务,以实现自动化的目标。编程语言
最近,又有一个朋友来问我Excel的问题,而后我就直接甩了上面那篇文章给他,结果:学习
一样也是一百多个Excel须要复制粘贴,把每一个分表的非汇总数据,汇总到一张表里面:spa
最终还须要在最后的汇总文件里面把文件名的附加在一个新的列中:.net
打发他去学习VBA没成,没辙,好人作到底吧。3d
回头又一想,以前介绍的方法使用xlrd和xlsxwriter模块,在操做上来讲仍是有一点繁琐。处理Excel,何不用大杀器——Pandas呢。excel
说干就干。
首先,初始化建立一个空的DataFrame;
而后,使用os模块的listdir()方法遍历文件夹下的Excel文件,再使用Pandas模块读取这个Excel文件生成DataFrame;
接着,根据文件名添加一个新列,合并剔除了最后一行汇总行的DataFrame;
继续完善一下列名;
最后,使用to_excel()方法导出为最终的Excel文件。
合计下来,仅仅18行代码,就处理了这样一个繁琐、棘手的问题。相较于上回使用xlrd和xlsxwriter模块足足减小了一倍以上的代码量,可谓是高效至极。
若是你对Pandas的数据处理感兴趣,推荐从Pandas官方的《十分钟入门》系列文档开始读起,连接请戳下方:阅读原文。
🧐分享、点赞、在看,给个三连击呗!👇
本文分享自微信公众号 - 州的先生(zmister2016)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。