利用python快速将一个工作表拆分成多个工作簿

利用python提高工作效率的一个小技巧

很多人会在日常的工作中遇到这样的工作需求:需要将一个总表按“分公司/按月份”等拆分成多个工作簿,分发给对应的人员。一开始想到的方法是:第一步:先将总表拆分成多个子工作表,第二步:新建多个工作簿,把子工作表中的内容逐个复制到对应的工作簿。第一步想到如何操作了,但是第二步效率太慢,太耗时间了。

百度了一圈后,发现有2种方法可以快比较便捷的解决第二步这个问题。
第一个方法是下载第三方插件“易用宝”,“易用宝”有一个功能可以将多个工作表拆分成多个工作簿。
第二个方法是用VBA语句。
但是都挺麻烦,要下载插件或者需要复制和操作一段很长的VBA代码。

在一个大咖群里请教,有一位大咖很快就用 几句python语句同时完成了2步,从写语句到运行出结果,仅仅用了10秒钟。再次证明,python有时可以快速提高工作效率。

以下就是具体的python代码:

import pandas as pd
df = pd.read_excel('待拆分.xlsx')  #读取工作表
for x,y in df.groupby('分公司'):   #需要拆分的字段
    y.to_excel( x+'.xlsx' , sheet_name= x ,index=False)  #按拆分表命名,生成工作簿

注意:生成后的工作簿会对应存放在python的根目录下,自行去剪切使用即可。另外可能会存在数字类型的内容的格式会变,大家使用前需要查看一下新生成的工作簿中各字段的格式是否符合要求。

如何做到不让某些字段在保存到csv或excel中时出现非正常显示?

df["字段名"] = df["字段名"].apply(lambda x: "\t" + x)
df.to_csv("保存路径",encoding="gbk")

你可能感兴趣的:(高效办公)