按数字排序CSV文件

有什么方法可以将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)


智慧大石
浏览 166回答 1
1回答

鸿蒙传说

x[0]因为您已经传递了DictReader,所以在这里将无法使用,因此,参数xa必须是列键,并且csv模块也不会将数值转换回整数,因此您可能会在整数上得到一个alphanum排序,例如-字符串值。总结起来,您需要根据“得分”列的数值进行排序:for row in sorted(reader,key = lambda x : int(x['Score']),reverse=True):
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python