问题需求

前几天,一位同学有一个分类汇总的需求,希望永恒君可以帮下忙,大致是这个样子的,如下图:




python 封装adb python 封装vba_python


要把表格中的数据按“归属事业部”分类,然后把分类的数据按每个类别保存到单独的excel文件中,名字以各个事业部的名字命名。


python 封装adb python 封装vba_数据_02


python 封装adb python 封装vba_数据_03


python 封装adb python 封装vba_VBA_04


图中所列的只是演示的数据,真实的表格里面有几千、上万条数据,通过手工来分类,然后复制粘贴保存,简直是难以想象。而且最关键的是,这个过程,他们公司经常需要操作。

大体思路

1、获取“归属事业部”中一共多少种事业部。因为数据太多,考虑用字典的唯一性来解决这个问题。
2、遍历“归属事业部”列所有数据,将同一个事业部的数据提取出来,保存在字典中。
3、将筛选出来的数据填入到“模板”文件中,保存到单独的excel。

演示一下


python 封装adb python 封装vba_数据_05


程序运行,整个过程用了大约3s左右。

把写好的文件发给同学测试了一下,3k多条数据,不到10s就搞定了,他说平常的时候客服小妹要花几个小时才能全部搞定!!!

核心代码


python 封装adb python 封装vba_VBA_06


python 封装adb python 封装vba_VBA_07


如果你对这个功能感兴趣,可以在公号内回复「分类保存」自取试用,尽快吧!

其他方案

尽管用了字典,但是代码量看起来也还是不少。这时,永恒君想到了用python试试,看看有没有更方便,测试结果更意外:


python 封装adb python 封装vba_数据_08


只用了0.3s左右,时间只有原来的十分之一。而代码,连VBA的一半都不到。

大家如果觉得实用,点个“在看”并分享给更多的朋友吧,这样永恒君更有动力在接下来的文章中将python的处理方法再来做个分享。