读csv文件里的内容 对文件中每位同学的成绩求平均分 保存成json文件
时间: 2024-03-23 14:38:54 浏览: 46
好的,我可以帮你解决这个问题。首先,让我们来看一下读取 CSV 文件和计算平均分的代码示例:
```python
import csv
import json
# 读取 CSV 文件
with open('grades.csv', 'r', newline='') as csvfile:
reader = csv.reader(csvfile)
next(reader) # 跳过表头
grades = []
for row in reader:
grades.append({'name': row[0], 'score': float(row[1])})
# 计算平均分
total_score = 0
for grade in grades:
total_score += grade['score']
avg_score = total_score / len(grades)
# 构造 JSON 数据
data = {'average_score': avg_score, 'students': grades}
# 保存为 JSON 文件
with open('grades.json', 'w') as jsonfile:
json.dump(data, jsonfile)
```
以上代码首先使用 `csv.reader` 读取 CSV 文件,构造一个包含每个同学姓名和成绩的列表 `grades`。然后遍历 `grades` 列表,将每个同学的成绩加起来,计算平均分。最后将平均分和 `grades` 列表一起构造成一个字典 `data`,并使用 `json.dump` 将其保存为 JSON 文件。
阅读全文