赞
踩
在实际工作中,我们经常会遇到各种表格的拆分与合并的情况。如果只是少量表,手动操作还算可行,但是如果是几十上百张表,最好使用Python编程进行自动化处理。下面介绍两种拆分案例场景,如何用Pandas实现Excel文件的拆分。
import pandas as pd
import os
# 在当前目录下新建一个“班级”文件夹,然后拆分新文件到这个文件夹下
if not os.path.exists('班级'):
os.mkdir('班级')
df = pd.read_excel('../三年级总成绩.xlsx')
# df['班级'].unique()获取到是不同班级的名称,df['班级']==i]用于筛选出不同班级中的数据。
for class_name in df['班级'].unique():
df[df['班级'] == class_name].to_excel(f"{os.path.join(os.getcwd(),'班级')}/{class_name}.xlsx", index=False)
执行上述代码后,结果如下图:
调用ExcelWriter()方法,它会帮助我们创建一个空的容器对象writer。基于这个对象,我们可以向同一个Excel文件的不同工作表中,写入对应的表格数据。源码如下:
import pandas as pd
import os
df = pd.read_excel('../三年级总成绩.xlsx')
writer = pd.ExcelWriter('三年级总成绩单.xlsx')
df.to_excel(writer, sheet_name='总成绩', index=False)
for j in df['班级'].unique():
df[df['班级'] == j].to_excel(writer, sheet_name=j, index=False)
writer.save()
第一次调用to_excel()方法时,我们将原来的“汇总数据工作表”写入这个容器对象,并指明了工作表名“总成绩”。接着利用for循环遍历总表,再次调用to_excel()方法,并将拆分后的每个班级的数据,分别写入同一个容器对象。此时,这个容器对象不仅保存了原来的“汇总数据工作表”,还保存了拆分后的每个班级的数据。最后调用容器对象的save()方法,即可将拆分后的数据写入Excel文件中,最终效果如上图所示。
喜欢的朋友可以自己体验一下,欢迎转发分享。下期还有合并数据的案例与大家分享。感兴趣的朋友可以在小蜜蜂AI的ChatGPT问答获得更多的答案。网址:https://zglg.work。
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。