. 简答题 期末考试6名考生3门课程的成绩保存在文本文件score.csv中,内容如下: 学号,英语,数学,计算机程序设计 20210101,78,90,88 20210102,89,77,65 20210103,76,87,90 20210104,78,80,86 20210105,87,90,89 20210106,76,89,85 请编写程序 完成如下功能: 读取score.csv文件内容,计算每位同学的总分,并将总分添加至相应同学的最后列;统计每门课程的平均分,将统计结果写入到文件的末尾。(注:将统计处理后的数据另写入到score1.csv文件)
时间: 2023-09-01 08:10:39 浏览: 105
好的,我知道了。这是一道编程题目,需要用到Python语言来解决。以下是代码实现:
```python
import csv
# 读取score.csv文件内容
with open('score.csv', 'r') as f:
reader = csv.reader(f)
data = [row for row in reader]
# 计算每位同学的总分,并将总分添加至相应同学的最后列
for i in range(1, len(data)):
total = sum(map(int, data[i][1:]))
data[i].append(str(total))
# 统计每门课程的平均分
english_total = math_total = programming_total = 0
for i in range(1, len(data)):
english_total += int(data[i][1])
math_total += int(data[i][2])
programming_total += int(data[i][3])
english_avg = round(english_total / (len(data) - 1), 2)
math_avg = round(math_total / (len(data) - 1), 2)
programming_avg = round(programming_total / (len(data) - 1), 2)
# 将统计结果写入到文件的末尾
with open('score1.csv', 'w', newline='') as f:
writer = csv.writer(f)
for row in data:
writer.writerow(row)
writer.writerow(['平均分', english_avg, math_avg, programming_avg])
```
这段代码先用csv库读取score.csv文件内容,并计算每位同学的总分,然后将总分添加至相应同学的最后列。接着统计每门课程的平均分,并将统计结果写入到文件的末尾,同时将处理后的数据另写入到score1.csv文件中。
阅读全文