Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python将总数分配给in ID_Python_Csv - Fatal编程技术网

Python将总数分配给in ID

Python将总数分配给in ID,python,csv,Python,Csv,熊猫扩展不允许使用 我有一个带有ID列(用户名)和两个数字列的CSV文件。在基本Python中,我希望获得ID以及自动和手动分数之和,然后用结果生成另一个CSV 示例CSV: Username Auto Score Manual Score 1234 1 1234 1 1234 1 1234 1.5 345 1 345 1 345 2 133

熊猫扩展不允许使用

我有一个带有ID列(用户名)和两个数字列的CSV文件。在基本Python中,我希望获得ID以及自动和手动分数之和,然后用结果生成另一个CSV

示例CSV:

Username  Auto Score  Manual Score
1234      1
1234      1 
1234      1      
1234                  1.5
345       1
345       1
345                   2
133       1
133       1
133                   2.5
我想使用与1相同的用户名,将自动评分和手动评分汇总如下:

Username  Total Score
1234      4.5
345       3
133       3.5
这是我的密码:

import csv
List = []
with open("exam_for_2019.csv") as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        auto_score = float(row['Auto Score']) if row['Auto Score'].strip() else 0
        Manual_Score = float(row['Manual Score']) if row['Manual Score'].strip() else 0
        sum_row = float(auto_score) + float(Manual_Score)
        List.append(sum_row)
        sums = sum(List)
        print(sums)
我疲惫不堪地把分数分成一个单子并加以总结。 现在的问题是,我不知道如何根据用户名分配每个总数,而且当我运行代码时,它只会给我一个总数。如何根据下面的用户名将所有分数相加?(请注意,数据结构CSV_数据替换了实际的CSV,但概念相同)

输出

123 : 4.5
345 : 8.5

请将csv添加到问题中请不要发布代码或数据的图像。复制并粘贴为文本,然后将其格式化为代码(选择它并键入
ctrl-k
)只需编辑CSV示例,很抱歉
123 : 4.5
345 : 8.5