为了账号安全,请及时绑定邮箱和手机立即绑定

按数字排序CSV文件

按数字排序CSV文件

智慧大石 2021-04-13 17:14:23
有什么方法可以将CSV文件按降序排序。我有一个CSV文件,其中包含不同玩家的所有得分。下面的代码从csv文件中提取前5个得分并将其输出到我的程序中。但是我想输出最高的5分,而不是前5分。无论如何,我可以做到这一点。   def DisplayLeaderBoard():                count = 0        with open ('StudentNames&Questions.csv') as scorelist:            reader = csv.DictReader(scorelist)            for row in reader:                if count ==250:                    break                count = count+50                scores_label = Label(canvas, text=(row['Names'], row['Score']), bg = 'gray25', fg='snow', font = font1)                canvas_scores_label = canvas.create_window(350, 280+count, window = scores_label, width = 500, height = 40)我在下面玩了这段代码,但是它主要用于数组。因此,如果有人知道如何首先将其放入数组,然后放入标签的for循环,请告诉我。        array.sort(key=lambda x: x[0], reverse=True)
查看完整描述

1 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

x[0]因为您已经传递了DictReader,所以在这里将无法使用,因此,参数xa必须是列键,并且csv模块也不会将数值转换回整数,因此您可能会在整数上得到一个alphanum排序,例如-字符串值。

总结起来,您需要根据“得分”列的数值进行排序:

for row in sorted(reader,key = lambda x : int(x['Score']),reverse=True):


查看完整回答
反对 回复 2021-04-27
  • 1 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信