行平均 CSV Python

Row Average CSV Python

我正在寻找一段代码,可以从 csv 中打印每个用户的平均分数。

它需要读取所有分数,然后为每个用户计算出整行的平均值。

它还需要计算有多少分数才能准确计算出平均分数,所以如果只完成了 2 个测试,则需要除以 2。

CSV 是

STUDENT,SCORE1,SCORE2,SCORE3  
elliott,12,2,12  
bob,0,11,1
test,0,1

我需要代码来计算所有用户的平均值,如上所述在 CSV 中,然后打印输出。

干杯。

您可以使用csv library来读取文件。那么这只是计算平均值的情况:

import csv

with open('example.csv') as handle:
    reader = csv.reader(handle)
    next(reader, None)
    for row in reader:
        user, *scores = row
        average = sum([int(score) for score in scores]) / len(scores)
        print (
            "{user} has average of {average}".format(user=user, average=average)
        )

根据您的输入打印:

elliott has average of 8.666666666666666
bob has average of 4.0
test has average of 0.5

此代码需要python 3.