Excel數(shù)據(jù)工作中,經(jīng)常需要根據(jù)某一列的值分別創(chuàng)建工作簿或工作表。對于這樣的需求,最基礎(chǔ)的方法,就是根據(jù)Excel中的篩選功能,人工篩選指定數(shù)據(jù)后創(chuàng)建工作簿,或是有VBA基礎(chǔ)的小伙伴會考慮用VBA自動化實(shí)現(xiàn)。
但是,無論以上的哪種方法,在大量的數(shù)據(jù)背景下,均不適用。人工處理效率過低,VBA處理容易卡頓。
本節(jié),將介紹如何通過Python實(shí)現(xiàn)該場景!
場景概述
桌面上有一份Excel文件A.xlsx,現(xiàn)需將不同部門的數(shù)據(jù)單獨(dú)保存到一個(gè)工作簿:

1594972595(1).jpg
準(zhǔn)備工作
桌面上創(chuàng)建一個(gè)文件夾test,用于存放各部門的數(shù)據(jù),即處理后的數(shù)據(jù)文件。
工具準(zhǔn)備
pandas模塊
pandas的安裝和引用,這里將不再贅述,如果對該模塊不了解的朋友可以自行百度。
代碼實(shí)現(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é),將介紹如何按列批量拆分成工作表!