Pandas快速实现excel分类查询并将每一类数据导入到新表格中不同Sheet中

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

提示:工作中经常会用到这样的操作,对于老板给的一个表格,需要根据其中的某一列进行筛选,将同一类的数据粘贴到另一个表格中。

业务说明:某市高考后有一张超大的excel文件(data_A),其中记录每个考生的信息。需要将学生以学校的维度进行拆分,即将相同学校的考生放在同一张Sheet中(Sheet使用许学校来命名)。

提示:要把大象装冰箱一共分三步,完成以上操作也指需三步。下面案例可供参考。

使用pandas模块读取表格,代码如下(示例):

import pandas as pd

data_A = pd.read_excel(
    "D:\\Anaconda\\Project\\data_2022-11-24.xlsx",
    usecols=["学校","学号","姓名","性别","年龄"],
)

因为表格中有很多列,我这里只需要其中的5列数据,使用 usecols导入特定的列。

2.1 创建新表格,用于存放整理好的数据

注意:这里需要重新创建一个新的表格,用于存放分类好的数据,不能将数据直接使用 to_excel直接写入。

writer = pd.ExcelWriter("D:\\Anaconda\\Project\\data_B.xlsx")

2.2 查询学校列中的所有分类

使用 unique,可以查询某一列的所有分类,输出列表。

lst = data_A["学校"].unique()

2.3 将不同的学校写入新表格中的不同sheet中

通过之前的查询,将所有的学校都存在了 lst中,使用 for循环依次读取到不同的学校,同时将学校依次写进新表格的不同sheet中。

pandas中使用 contains进行关键词的抽取,使用 to_excel进行数据的导出。

for i in lst:
    fdata = data_A[data_A["学校"].str.contains(i)]
    fdata.to_excel(writer,i,index=False)
writer.save()
import pandas as pd

data_A = pd.read_excel(
    "D:\\Anaconda\\Project\\data_2022-11-24.xlsx",
    usecols=["学校","学号","姓名","性别","年龄"],
)
writer = pd.ExcelWriter("D:\\Anaconda\\Project\\data_B.xlsx")
lst = data_A["学校"].unique()
for i in lst:
    fdata = data_A[data_A["学校"].str.contains(i)]
    fdata.to_excel(writer,i,index=False)

writer.save()

Original: https://blog.csdn.net/weixin_44593797/article/details/121755610
Author: 佛罗伦萨的恶魔
Title: Pandas快速实现excel分类查询并将每一类数据导入到新表格中不同Sheet中

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/599636/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球