python代码:有一个存放学生课程成绩的文件“8.2score.csv”,存有6名同学各四门成绩。请读取并显示文件内容,计算每名同学的总分附加到课程成绩后面,根据每名同学的总分进行降序排序,并将排序后的结果写入到新文件“8.2是从reSort.csv”中。
时间: 2023-07-16 12:14:59 浏览: 326
```python
import csv
# 读取原文件并计算每名同学的总分
with open("8.2score.csv", "r") as f:
reader = csv.reader(f)
headers = next(reader) # 获取表头
students = []
for row in reader:
name = row[0]
scores = [int(score) for score in row[1:]]
total_score = sum(scores)
students.append([name] + scores + [total_score])
# 根据每名同学的总分进行降序排序
students.sort(key=lambda x: x[-1], reverse=True)
# 将排序后的结果写入新文件
with open("8.2reSort.csv", "w", newline="") as f:
writer = csv.writer(f)
writer.writerow(headers + ["Total Score"]) # 写入表头
for student in students:
writer.writerow(student)
```
注意:以上代码中使用了 Python 内置的 csv 模块来处理 CSV 文件,需要将文件名传入 open 函数中,并指定读取或写入的方式。在写入新文件时,需要使用 newline 参数来避免出现空行问题。
阅读全文