Excel数据工作中,经常需要根据某一列的值分别创建工作簿或工作表。对于这样的需求,最基础的方法,就是根据Excel中的筛选功能,人工筛选指定数据后创建工作簿,或是有VBA基础的小伙伴会考虑用VBA自动化实现。
但是,无论以上的哪种方法,在大量的数据背景下,均不适用。人工处理效率过低,VBA处理容易卡顿。
本节,将介绍如何通过Python实现该场景!
场景概述
桌面上有一份Excel文件A.xlsx,现需将不同部门的数据单独保存到一个工作簿:
准备工作
桌面上创建一个文件夹test,用于存放各部门的数据,即处理后的数据文件。
工具准备
pandas模块
pandas的安装和引用,这里将不再赘述,如果对该模块不了解的朋友可以自行百度。
代码实现
import pandas as pd
# 读取A.xlsx工作表Sheet1中的数据
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)
执行代码,收工!
下节,将介绍如何按列批量拆分成工作表!