python代码:在E盘存放学生课程成绩的文件“8.2score.csv”,存有6名同学各四门成绩,请读取并显示里面内容,计算每名同学的总分附加到课程成绩后面,根据每名同学的总分进行降序排序,并将排序后的结果写入到新文件“8.2是从reSort.csv”中。
时间: 2023-11-22 12:53:44 浏览: 91
用Python编程实现学生成绩管理,能按学期、按班级对学生成绩进行录入、修改、统计、查询和输出
以下是实现该功能的Python代码:
```python
import csv
# 读取文件
with open('E:/8.2score.csv', 'r') as file:
reader = csv.reader(file)
rows = [row for row in reader]
# 计算每个同学的总分并附加到课程成绩后面
for i in range(1, len(rows)):
total_score = sum(map(int, rows[i][1:]))
rows[i].append(str(total_score))
# 按照总分进行降序排序
rows = sorted(rows[1:], key=lambda x: int(x[-1]), reverse=True)
rows.insert(0, ['姓名', '语文', '数学', '英语', '科学', '总分'])
# 写入新文件
with open('E:/8.2reSort.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(rows)
```
这段代码使用了Python标准库中的csv模块来读取和写入CSV文件。首先使用`csv.reader`读取原始文件内容,并使用列表推导式将其存储到一个二维列表`rows`中。然后对于每个同学,使用`sum`函数计算其总分,并使用`append`方法将总分附加到课程成绩后面。接着使用`sorted`函数按照总分进行降序排序,并在最前面插入表头。最后使用`csv.writer`将排序后的结果写入到新文件中。
阅读全文