我们工作中经常要遇到这种情况:需要把一个总的excel工作薄,按‘部门’字段分成N个工作薄,单独发给不同的部门。
通过网上搜索,有方方格子等插件能实现部分功能。但遇到工作薄下有多个工作表时仍然不好操作。比如我现在遇到的问题:
这种情况,插件也不好使,想了想便考虑用python来解决。下面来说解决思路和代码。
1、首先导包,设置目标工作表的路径。
import
2、并获取工作薄下的所有表名,并设置按哪个字段分表(我这里是按'渠道名称')。
#获取工作薄所有表名
3、接下来就是分表了,我这里的思路是:建立一个某个渠道的工作薄,然后再把这个渠道相关的表分别写入不同的sheet。用两个for循环实现,代码不复杂,关键是理清思路。
#分表
好了,基本就是这样了,看看效果。
可以看到效果很好。
后边想了想,还是有优化的空间比如,在循环里面频繁的读取文档,影响了一定的速度。可以先全部读取进来,建立个总的字典,再去一一筛选。这个后边再去优化了。
附上整体代码。
import