pandas后台导出excel_Python真是Excel的贤内助,不信你瞧……

Python在处理自动化任务上的能力可以说是有目共睹、有口皆碑的。

虽然Python能干的事情,大部分编程语言都能干,但是功能比Python强大的,没Python简单好使;比Python简单好使的,功能没Python强大。

上回在公众号和知乎上发表回答了一篇《用python进行办公自动化都需要学习什么知识呢?》的内容,得到了很多反响:

c6238297fed21ae83afff12245d9cb53.png

公众号请戳这里:几百个Excel表格的内容要复制粘贴,如何一键自动化搞定?| 州的先生

在那篇内容里,州的先生介绍了使用Python的xlrd和xlsxwriter模块来读写Excel文件,来实现批处理Excel任务,以实现自动化的目标。

最近,又有一个朋友来问我Excel的问题,然后我就直接甩了上面那篇文章给他,结果:

97a83d3f99ff87d2f6c3e4751856dce5.png

同样也是一百多个Excel需要复制粘贴,把每个分表的非汇总数据,汇总到一张表里面:

b19ed877eb3eda4a95142c7db2c179a0.png

最终还需要在最后的汇总文件里面把文件名的附加在一个新的列中:

7b4408a7e3ccdf874a0451153c18bf94.png

4af6c70a1691c1e1c063f4d10a9106d5.png

打发他去学习VBA没成,没辙,好人做到底吧。

回头又一想,之前介绍的方法使用xlrd和xlsxwriter模块,在操作上来说还是有一点繁琐。处理Excel,何不用大杀器——Pandas呢。

说干就干。

c8ec0b015704ec18521ea23f51880d28.png

  • 首先,初始化创建一个空的DataFrame;

  • 然后,使用os模块的listdir()方法遍历文件夹下的Excel文件,再使用Pandas模块读取这个Excel文件生成DataFrame;

  • 接着,根据文件名添加一个新列,合并剔除了最后一行汇总行的DataFrame;

  • 继续完善一下列名;

  • 最后,使用to_excel()方法导出为最终的Excel文件。

29eda6e63b4a7bdfc800c1ba5a0126f7.png

合计下来,仅仅18行代码,就处理了这样一个繁琐、棘手的问题。相较于上回使用xlrd和xlsxwriter模块足足减少了一倍以上的代码量,可谓是高效至极。

如果你对Pandas的数据处理感兴趣,推荐从Pandas官方的《十分钟入门》系列文档开始读起,链接请戳下方:

?分享、点赞、在看,给个三连击呗!?

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页