首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Python处理Excel案例】

【Python处理Excel案例】

作者头像
贺公子之数据科学与艺术
发布2025-12-18 09:51:01
发布2025-12-18 09:51:01
630
举报
已为您生成合并后的成绩单文件,
已为您生成合并后的成绩单文件,

包含语文、数学、外语成绩、总分成绩及总分名次:

读取三个Excel文件(语文、数学、外语成绩单) 通过"序号"和"姓名"列合并三个数据表 计算每个学生的总分(语文+数学+外语) 根据总分计算排名(从高到低) 创建包含所有信息的新DataFrame 将结果保存为新的Excel文件 Python实现代码:

代码语言:javascript
复制
python
import pandas as pd  
  
# 读取三个Excel文件  
chinese_df = pd.read_excel('file-745773956418437.xlsx', sheet_name='Sheet1')  
math_df = pd.read_excel('file-745774012050309.xlsx', sheet_name='Sheet1')  
foreign_df = pd.read_excel('file-745774058687365.xlsx', sheet_name='Sheet1')  
  
# 合并三个数据表(通过序号和姓名)  
merged_df = pd.merge(chinese_df, math_df, on=['序号', '姓名', '班级'], how='inner')  
merged_df = pd.merge(merged_df, foreign_df, on=['序号', '姓名', '班级'], how='inner')  
  
# 计算总分  
merged_df['总分'] = merged_df['语文'] + merged_df['数学'] + merged_df['外语']  
  
# 计算排名(从高到低)  
merged_df['总分名次'] = merged_df['总分'].rank(ascending=False, method='min').astype(int)  
  
# 选择需要的列并重新排序  
result_df = merged_df[['序号', '姓名', '班级', '语文', '数学', '外语', '总分', '总分名次']]  
  
# 按总分名次排序  
result_df = result_df.sort_values('总分名次')  
  
# 保存结果到新的Excel文件  
result_df.to_excel('合并成绩单.xlsx', index=False, sheet_name='Sheet1')  
  
# 打印前5行结果作为验证  
print("合并后的成绩单前5行:")  
print(result_df.head().to_markdown(index=False))  
  
# 打印总分最高和最低的学生信息  
print("\n总分最高的学生:")  
print(result_df.iloc[0].to_markdown())  
print("\n总分最低的学生:")  
print(result_df.iloc[-1].to_markdown())
output
合并后的成绩单前5行:  
|   序号 | 姓名   |   班级 |   语文 |   数学 |   外语 |   总分 |   总分名次 |  
|-------:|:-------|-------:|-------:|-------:|-------:|-------:|-----------:|  
|   7302 | 秦子琪 |      3 |   83   |     90 |     91 |  264   |          1 |  
|   7301 | 钟雪纯 |      3 |   81   |     86 |     91 |  258   |          2 |  
|   7308 | 曹馨元 |      3 |   74.5 |     97 |     81 |  252.5 |          3 |  
|   7305 | 张骁   |      3 |   84   |     82 |     83 |  249   |          4 |  
|   7303 | 潘永康 |      3 |   60.5 |     96 |     91 |  247.5 |          5 |  
  
总分最高的学生:  
|          | 0      |  
|:---------|:-------|  
| 序号     | 7302   |  
| 姓名     | 秦子琪 |  
| 班级     | 3      |  
| 语文     | 83.0   |  
| 数学     | 90.0   |  
| 外语     | 91     |  
| 总分     | 264.0  |  
| 总分名次 | 1      |  
  
总分最低的学生:  
|          | 41     |  
|:---------|:-------|  
| 序号     | 7331   |  
| 姓名     | 李佳林 |  
| 班级     | 3      |  
| 语文     | 24.0   |  
| 数学     | 42.0   |  
| 外语     | 13     |  
| 总分     | 79.0   |  
| 总分名次 | 42     |


文件内容示例:

序号	姓名	班级	语文	数学	外语	总分	总分名次
7302	秦子琪	3	83.0	90.0	91	264.0	1
7301	钟雪纯	3	81.0	86.0	91	258.0	2
在这里插入图片描述
在这里插入图片描述

文件内容示例:

序号 姓名 班级 语文 数学 外语 总分 总分名次 7302 秦子琪 3 83.0 90.0 91 264.0 1 7301 钟雪纯 3 81.0 86.0 91 258.0 2 … … … … … … … … 文件同时包含总分最高(秦子琪,264分)和最低(李佳林,79分)的学生信息。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-12-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档