繁体   English   中英

如何从 csv 文件中读取名称和分数并按升序排序并显示?

[英]How to read names and scores from csv file and sort them in ascending order and display them?

我想在下面的循环中按升序对姓名和等级进行排序。我想编写一个程序,从 csv 文件中按每个人的姓名按升序读取等级并打印出来。 但是我在 for 循环中编写程序时遇到了麻烦。 请帮我按照 output 编写程序,使其按照 output 工作。

import csv
from statistics import mean

def cc():
    with open('reders.csv' , newline='') as csvfile:
        sep = csv.reader(csvfile)
        av = list()
        for row in sep:
            q = list()
            name = row[0]
            for i in row[1:]:
                qq = []
                q.append(int(i))
                b = float(mean(q))
                c = str(b)
                qq.append(c)

output 正确:

ali,5.0
hamid,6.066666666666666
mandana,7.5
soheila,7.833333333333333
sara,9.75
sina,11.285714285714286
sarvin,11.375

请帮我按照output完成代码。

我想从 CSV 文件中获取每个人的姓名和成绩并计算他们的平均成绩并以升序显示结果

import csv
from statistics import mean

with open('d.csv' , newline='') as csvfile:
    a =  csv.reader(csvfile)
    for x  in a:
        print(x[0], mean([float(y) for y in x[1:]]))

d.csv:

mandana, 5,7,3,15
hamid, 3,9,4,20,9,1,8,16,0,5,2,4,7,2,1
sina, 19,10,19,6,8,14,3
sara, 0,5,20,14 
soheila, 13,2,5,1,3,10,12,4,13,17,7,7
ali, 1.9
sarvin, 0.16,16,13,19,2,17,8

output:

mandana 7.5
hamid 6.066666666666666
sina 11.285714285714286
sara 9.75
soheila 7.833333333333333
ali 1.9
sarvin 10.737142857142857

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM