Excel數(shù)據(jù)工作中,經(jīng)常需要根據(jù)某一列的值分別創(chuàng)建工作簿或工作表您机。對于這樣的需求穿肄,最基礎的方法,就是根據(jù)Excel中的篩選功能际看,人工篩選指定數(shù)據(jù)后創(chuàng)建工作簿咸产,或是有VBA基礎的小伙伴會考慮用VBA自動化實現(xiàn)。
但是仲闽,無論以上的哪種方法脑溢,在大量的數(shù)據(jù)背景下,均不適用蔼囊。人工處理效率過低焚志,VBA處理容易卡頓衣迷。
本節(jié)畏鼓,將介紹如何通過Python實現(xiàn)該場景!
場景概述
桌面上有一份Excel文件A.xlsx壶谒,現(xiàn)需將不同部門的數(shù)據(jù)單獨保存到一個工作簿:
1594972595(1).jpg
準備工作
桌面上創(chuàng)建一個文件夾test云矫,用于存放各部門的數(shù)據(jù),即處理后的數(shù)據(jù)文件汗菜。
工具準備
pandas模塊
pandas的安裝和引用让禀,這里將不再贅述,如果對該模塊不了解的朋友可以自行百度陨界。
代碼實現(xiàn)
import pandas as pd
# 讀取A.xlsx工作表Sheet1中的數(shù)據(jù)
df = pd.read_excel(r'C:\Users\SYH\Desktop\A.xlsx', 'Sheet1')
# print(df.head())
# 按“部門”拆分
uni_value = df['部門'].unique()
for s in uni_value:
data_s = df[df['部門'] == s]
# 保存拆分后的工作簿到桌面test文件夾中
data_s.to_excel(r'C:\Users\SYH\Desktop\test\%s.xlsx' % s, index=False)
執(zhí)行代碼巡揍,收工!
1594973534(1).jpg
下節(jié)菌瘪,將介紹如何按列批量拆分成工作表腮敌!