学生成绩管理系统python,能够从xlsx文件中读取课程类别为必修课的数据:序号、课程名称、成绩,然后实现以下几个功能:根据课程名称显示对应的序号和成绩,然后对成绩进行排序并显示
时间: 2024-05-12 08:13:28 浏览: 139
好的,我来帮你实现这个需求。
首先,我们需要安装 `openpyxl` 库来读取 Excel 文件。可以通过以下命令进行安装:
```
pip install openpyxl
```
接下来,我们编写代码来读取 Excel 文件中的数据,并实现相关功能:
```python
from openpyxl import load_workbook
# 读取 Excel 文件
workbook = load_workbook(filename='成绩单.xlsx')
sheet = workbook.active
# 定义一个字典,用于存储课程名称和对应的成绩
scores = {}
# 遍历表格中的每一行数据
for row in sheet.iter_rows(min_row=2, values_only=True):
# 如果课程类别为必修课,将其添加到字典中
if row[1] == '必修课':
scores[row[2]] = row[0], row[3]
# 根据课程名称显示对应的序号和成绩
course_name = input('请输入课程名称:')
if course_name in scores:
print(f'序号:{scores[course_name][0]},成绩:{scores[course_name][1]}')
else:
print('未找到该课程成绩')
# 对成绩进行排序并显示
sorted_scores = sorted(scores.items(), key=lambda item: item[1][1], reverse=True)
print('按成绩排序:')
for course, (number, score) in sorted_scores:
print(f'课程名称:{course},序号:{number},成绩:{score}')
```
这里假设 Excel 文件名为 `成绩单.xlsx`,并且数据从第二行开始。我们遍历表格中的每一行数据,如果课程类别为必修课,就将其添加到字典 `scores` 中,其中键为课程名称,值为序号和成绩的元组。
接下来,根据用户输入的课程名称,从字典中查找对应的序号和成绩,并输出。如果未找到该课程成绩,输出提示信息。
最后,我们对字典中的成绩进行排序,并输出按成绩排序后的课程名称、序号和成绩。
希望这个代码能够帮到你!
阅读全文