读csv文件里的内容 对文件中每位同学的成绩求平均分 保存成json文件,学号分别是202201、202202、202203、202204,语文成绩分别是95、79、82、75,数学成绩分别是98、 86、98、88 ,英语分别是94、94、76、79。
时间: 2023-08-18 08:10:47 浏览: 109
好的,我可以帮助你解决这个问题。你可以使用 Python 编写一个脚本来完成这个任务。以下是可能的实现方式:
```python
import csv
import json
# 读取 CSV 文件
with open('scores.csv', 'r') as csvfile:
reader = csv.DictReader(csvfile)
# 初始化总分和计数器
totals = {'202201': [0, 0, 0], '202202': [0, 0, 0], '202203': [0, 0, 0], '202204': [0, 0, 0]}
counts = {'202201': 0, '202202': 0, '202203': 0, '202204': 0}
# 遍历每个同学的成绩,累加总分和计数器
for row in reader:
student_id = row['学号']
totals[student_id][0] += int(row['语文'])
totals[student_id][1] += int(row['数学'])
totals[student_id][2] += int(row['英语'])
counts[student_id] += 1
# 计算平均分
averages = {}
for student_id in totals:
averages[student_id] = {}
averages[student_id]['语文'] = totals[student_id][0] / counts[student_id]
averages[student_id]['数学'] = totals[student_id][1] / counts[student_id]
averages[student_id]['英语'] = totals[student_id][2] / counts[student_id]
# 保存为 JSON 文件
with open('averages.json', 'w') as jsonfile:
json.dump(averages, jsonfile)
```
在这个脚本中,我们首先使用 `csv.DictReader` 读取 CSV 文件中的内容,并初始化每个同学的总分和计数器。然后,我们遍历每个同学的成绩,累加总分和计数器。之后,我们计算每个同学的平均分,保存为一个字典 `averages`。最后,我们使用 `json.dump` 将这个字典保存为 JSON 文件。
请将上述代码保存为一个 Python 文件,比如 `score_calculator.py`,然后在命令行中运行:
```bash
python score_calculator.py
```
这样就会生成一个名为 `averages.json` 的 JSON 文件,里面包含了每个同学的平均成绩。
阅读全文