请编写代码读取"成绩. csv "中的数据,计算每人平均分,把平均分最高的学生姓名显示在屏幕上。
时间: 2024-02-24 13:56:39 浏览: 18
好的,以下是Python的代码实现:
```python
import csv
with open('成绩.csv', 'r', encoding='utf-8') as f:
reader = csv.reader(f)
next(reader) # 跳过表头
max_avg = 0
max_name = ''
for row in reader:
name = row[0]
scores = list(map(int, row[1:]))
avg = sum(scores) / len(scores)
if avg > max_avg:
max_avg = avg
max_name = name
print("平均分最高的学生是:", max_name)
```
代码解释:
1. `with open('成绩.csv', 'r', encoding='utf-8') as f:` 打开文件,使用 `csv` 模块读取。
2. `reader = csv.reader(f)` 创建一个 `csv` 文件读取器。
3. `next(reader)` 读取第一行(表头),跳过。
4. `for row in reader:` 循环读取每一行数据。
5. `name = row[0]` 获取第一列数据(姓名)。
6. `scores = list(map(int, row[1:]))` 获取剩余列数据(成绩),转换为整数类型。
7. `avg = sum(scores) / len(scores)` 计算平均分。
8. `if avg > max_avg:` 如果当前平均分大于最高平均分,更新最高平均分和学生姓名。
9. `print("平均分最高的学生是:", max_name)` 输出结果。
注意:需要确保代码文件和CSV文件在同一目录下,并且CSV文件名和代码中文件名保持一致。