按条件将Excel文件拆分到不同的工作表

简介: 使用Python的pandas库,可以轻松将Excel文件按条件拆分为多个工作表。本文通过一个具体示例,展示了如何根据学生班级将成绩数据拆分到不同的工作表中,并生成一个包含总成绩表和各班级成绩表的Excel文件。代码简洁明了,适合初学者学习和应用。

按条件将Excel文件拆分到不同的工作表

我们可以使用Python的pandas库来生成这个包含多个工作表的Excel文件。以下是一个完整的代码示例,它将创建一个包含四个工作表的Excel文件:一个总成绩表(Sheet1)和三个班级表(Sheet2, Sheet3, Sheet4)。

首先,请确保您已经安装了pandas和openpyxl库。如果没有安装,可以使用以下命令进行安装:

pip install pandas openpyxl

接下来是完整的Python代码:

import pandas as pd

# 示例数据
data = {
   
    '姓名': ['张三', '李四', '王五', '赵六', '刘七', '陈八', '钱九', '孙十', '周十一', '吴十二'],
    '班级': ['三年一班', '三年一班', '三年二班', '三年二班', '三年三班', '三年三班', '三年一班', '三年二班', '三年三班',
             '三年一班'],
    '语文': [85, 92, 76, 89, 94, 83, 88, 79, 90, 82],
    '数学': [90, 88, 81, 93, 95, 86, 92, 84, 91, 87],
    '英语': [88, 91, 79, 87, 92, 85, 89, 80, 88, 86]
}

# 创建DataFrame
df = pd.DataFrame(data)

# 创建Excel writer对象
with pd.ExcelWriter('三年级成绩单.xlsx', engine='openpyxl') as writer:
    # 写入总成绩表
    df.to_excel(writer, sheet_name='总成绩', index=False)

    # 按班级分组并写入不同的工作表
    for class_name in df['班级'].unique():
        class_df = df[df['班级'] == class_name]
        class_df.to_excel(writer, sheet_name=class_name, index=False)

print("Excel文件已生成!")

运行结果:

354kdo.png

代码解释

  1. 导入库:导入pandas库。
  2. 示例数据:定义一个字典data,包含所有学生的成绩信息。
  3. 创建DataFrame:使用pd.DataFrame将数据转换为DataFrame对象。
  4. 创建Excel writer对象:使用pd.ExcelWriter创建一个Excel writer对象,指定文件名和引擎。
  5. 写入总成绩表:将整个DataFrame写入名为“总成绩”的工作表。
  6. 按班级分组并写入不同的工作表:遍历每个班级,提取该班级的学生数据,并将其写入相应的工作表。
  7. 保存文件:关闭writer对象,完成文件保存。

运行上述代码后,将会在当前目录下生成一个名为“三年级成绩单.xlsx”的Excel文件,其中包含四个工作表:总成绩、三年一班、三年二班和三年三班。每个工作表中的数据按照要求进行了分类。

欢迎点赞、关注、收藏、转发!!!

相关文章
|
6天前
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
54 9
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
1月前
|
Python
按条件将Excel文件拆分到不同的工作表
使用Python的pandas库,可以轻松将Excel文件按条件拆分到不同的工作表中。本文通过一个示例代码展示了如何生成一个包含总成绩表和三个班级表的Excel文件。代码首先创建了一个包含学生姓名、班级和各科成绩的数据框,然后按班级分组,将每个班级的数据分别写入不同的工作表。最后,生成的Excel文件将包含四个工作表,分别为总成绩表和三个班级的成绩表。
32 6
按条件将Excel文件拆分到不同的工作表
|
1月前
|
Python
批量将不同的工作簿合并到同一个Excel文件
本文介绍如何使用Python的`pandas`库批量合并不同工作簿至同一Excel文件。通过模拟生成三个班级的成绩数据,分别保存为Excel文件,再将这些文件合并成一个包含所有班级成绩的总成绩单。步骤包括安装必要库、生成数据、保存与合并工作簿。
40 6
|
2月前
|
前端开发
实现Excel文件和其他文件导出为压缩包,并导入
实现Excel文件和其他文件导出为压缩包,并导入
35 1
|
2月前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
90 4
|
3月前
|
JavaScript 前端开发 数据处理
Vue导出el-table表格为Excel文件的两种方式
Vue导出el-table表格为Excel文件的两种方式
125 6
|
3月前
|
easyexcel Java UED
SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
在SpringBoot环境中,为了优化大量数据的Excel导出体验,可采用异步方式处理。具体做法是将数据拆分后利用`CompletableFuture`与`ThreadPoolTaskExecutor`并行导出,并使用EasyExcel生成多个Excel文件,最终将其压缩成ZIP文件供下载。此方案提升了导出效率,改善了用户体验。代码示例展示了如何实现这一过程,包括多线程处理、模板导出及资源清理等关键步骤。
|
3月前
|
前端开发 JavaScript API
前端基于XLSX实现数据导出到Excel表格,以及提示“文件已经被损坏,无法打开”的解决方法
前端基于XLSX实现数据导出到Excel表格,以及提示“文件已经被损坏,无法打开”的解决方法
249 0
|
1月前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
106 10
|
3月前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
177 4