我被分配了一项任务,为小学成员创建一个测验。我已经把每一个任务都钉在了这个任务上。
我必须通过以下方式计算CSV文件中的分数: •按字母顺序排列,每个学生的考试成绩最高 •按最高分,从最高到最低 •按平均得分,从最高到最低。
这是我到目前为止的代码。它似乎没有计算平均值,即使我有效地遵循了PowerPoint。 PowerPoint中的所有内容都在代码中。
这是我到目前为止所拥有的:
import csv
results = open("Scores1.csv", "r+")
csv1 = csv.reader(results, delimiter=",")
data = []
for eachline in csv1:
print(eachline)
eachline[1] = int(eachline[1])
eachline[2] = int(eachline[2])
eachline[3] = int(eachline[3])
highscore = max(eachline[1:4])
eachline.append(highscore)
average = round(sum(eachline[1:4])/3)
eachline.append(average)
data.append(eachline)
print(data)
我得到的错误是:
Traceback (most recent call last):
File "Z:\My Work\Year 11\Computing\A453 Programming Project\PythonFiles\scores.py", line 17, in <module>
eachline[1] = int(eachline[1])
IndexError: list index out of range
我不明白给我的错误,因为CSV文件中的所有内容都很好。 我不是最好的,我想要一个简单的答案,这样我就能有效地理解它,并从中学习。
非常感谢。
答案 0 :(得分:0)
看一下pandas libary,例如,可以像这样获得行的均值和最大值,但是你的例子应该更精确,不能真正看到csv文件的确切结构:
import pandas as pd
data = pd.read_csv("Scores1.csv")
data['mean']= data.mean(axis=1)
data['max'] = data.max(axis=1)