写一个Python代码,导入EXCEL,表内有学生成绩,输入学生姓名可以显示学生成绩,可以输入一个学生姓名也可以同时输入几个学生姓名,用逗号把学生姓名分隔,输出学生成绩
时间: 2024-05-09 15:18:22 浏览: 118
用Python编程实现学生成绩管理,能按学期、按班级对学生成绩进行录入、修改、统计、查询和输出
好的,我了解了您的请求,并理解您的要求。以下是解决方案:
首先,您需要安装 openpyxl 库,您可以在 Python 命令行中使用以下命令来安装它:
```
pip install openpyxl
```
接下来,您可以使用以下代码实现您的请求:
```python
import openpyxl
def show_grades(student_names):
# 加载 Excel 文件
wb = openpyxl.load_workbook('students.xlsx')
# 获取当前活动工作表
ws = wb.active
# 存储学生成绩
grades = {}
# 遍历行
for row in ws.iter_rows(min_row=2, values_only=True):
name, grade = row
grades[name] = grade
# 显示学生成绩
for name in student_names:
if name in grades:
print(f'{name}: {grades[name]}')
else:
print(f'{name} 的成绩未找到!')
# 测试
show_grades(['小明', '小红']) # 显示小明和小红的成绩
show_grades(['小明,小红']) # 显示小明和小红的成绩
show_grades(['小明', '小红', '小华']) # 显示小明、小红和小华的成绩
```
在此代码中,我们首先导入了 openpyxl 库,然后定义了一个名为 show_grades 的函数,该函数使用打开的 Excel 文件和提供的学生名称列表来显示学生成绩。函数首先加载工作簿和工作表,然后遍历行并将学生姓名和成绩存储在字典中。最后,函数通过遍历提供的学生名称列表并在字典中查找相应的成绩来显示学生成绩。
请注意,在此代码中,我们假设 Excel 文件中的第一行是标题行,并从第二行开始读取数据。如果您的 Excel 文件不同,请相应地更改 min_row 的值。
阅读全文