麻烦将“ CSV”文件中所有成绩的平均水平

时间:2019-01-21 21:03:10

标签: python csv split

所以我是python的新手,我很难理解这段代码。我正在尝试使用名为“ exam_grades.csv”的“ CSV文件”,然后编写一个函数,该函数读取文件中的所有值,但使用字符串类split()方法将该长字符串拆分为字符串列表。每个字符串代表一个成绩。然后我的函数应该返回所有成绩的平均值。

到目前为止,这就是我所拥有的;我可以很好地打开.csv文件,但在平均所有成绩时遇到了麻烦。我有一些评论,因为我确定我一直在做什么:(

def fileSearch():
    'Problem 4'
    readfile = open('exam_grades.csv', "r")
    for line in readfile:
        l = line.split(str(","))
        #num_grades = len(l)
        #averageAllGrades = l * 500 
        #return num_grades
        print(l)
fileSearch()

有什么建议吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

大多数CSV文件的顶部都有一个标头,您可以跳过该标头,但是为了简单起见,我们忽略它。

这里有一些有效的代码:

def fileSearch():
    'Problem 4'
    readfile = open('exam_grades.csv', "r")
    grade_sum = 0
    grade_count = 0
    for line in readfile:
        l = line.split(str(","))
        for grade in l:
            grade_sum += int(grade)
            grade_count += 1
    print(grade_sum/grade_count)

fileSearch()

这假设您有多条分数线,每条分数线。

我们在这里跟踪两个变量,即所有成绩的总和以及我们添加到列表中的所有成绩的数量(我们还将转换为整数,因为您将要读取字符串)

将所有成绩加起来并除以成绩数,便得出平均值。

希望这会有所帮助。