怎么用Python对多个csv文件的值进行处理?

根据已给出的同学的6次作业的成绩(score1.csv至score6.csv),求出每个同学的平均成绩,并将结果存入到文件AveScore.csv中。AveScore中的数据结构为:

学号,姓名,1,2,3,4,5,6,平均成绩

score1.csv至score6.csv的数据结构是什么?

比如是


 

import csv
res = [['学号','姓名','平均成绩']]
for i in range(2):
    with open(f"score{i+1}.csv","r",newline="", encoding='utf-8') as fileObj:
        li = list(csv.reader(fileObj))
    print(li)
    sno = li[1][0]
    name = li[1][1]
    sli = list(map(float,li[1][2:]))
    print(sli)
    avg = sum(sli)/len(sli)
    res.append([sno,name,avg])
print(res)
with open("AveScore.csv","w",newline="", encoding='utf-8') as fileObj:
    csv.writer(fileObj).writerows(res)

结果

如果score1.csv至score6.csv是这样数据结构

import csv
res = [['学号','姓名']]
for i in range(6):
    with open(f"score{i+1}.csv","r",newline="", encoding='utf-8') as fileObj:
        li = list(csv.reader(fileObj))
    if i==0:
        for i in range(1,len(li)):
            res.append(li[i][0:2])
    res[0].append(f'成绩{i+1}')
    for i in range(1,len(li)):
        res[i].append(float(li[i][2]))
res[0].append('平均成绩')
for v in res[1:]:
    sli = v[2:]
    print(sli)
    avg = sum(sli)/len(sli)
    v.append(avg)
print(res)
with open("AveScore.csv","w",newline="", encoding='utf-8') as fileObj:
    csv.writer(fileObj).writerows(res)

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632