用python实现求一个成绩表中学生的平均成绩以及评级。成绩表类型为excel
时间: 2024-06-10 20:06:54 浏览: 218
可以使用Python中的pandas库和openpyxl库来读取和处理Excel文件中的数据,先计算出每个学生的平均成绩,再根据规定的评分标准将每个学生的成绩评定级别。以下是代码示例:
```python
import pandas as pd
from openpyxl import load_workbook
# 读取Excel文件中的数据到DataFrame对象
wb = load_workbook(filename='成绩表.xlsx')
sheet = wb.active
data = sheet.values
cols = next(data)[1:]
df = pd.DataFrame(data, columns=cols)
# 求每个学生的平均成绩
df['平均成绩'] = df.mean(axis=1)
# 定义评分标准和对应的级别
GRADE_RULE = {
(90, 100): '优秀',
(80, 90): '良好',
(70, 80): '中等',
(60, 70): '及格',
(0, 60): '不及格'
}
# 根据评分标准将每个学生的成绩评定级别
def get_grade(score):
for k, v in GRADE_RULE.items():
if k[0] <= score <= k[1]:
return v
return '未知'
df['评级'] = df['平均成绩'].apply(get_grade)
# 将结果保存到Excel文件中
with pd.ExcelWriter('成绩表_处理后.xlsx') as writer:
df.to_excel(writer, sheet_name='Sheet1', index=False)
```
其中,成绩表.xlsx是原始的Excel文件,存放有学生的成绩数据。成绩表_处理后.xlsx是处理后的结果,包含每个学生的平均成绩和评级信息。运行代码后,结果会自动保存到成绩表_处理后.xlsx文件中。
阅读全文