我有一个使用用户名和高分保存的外部文件,我需要对其进行订购

时间:2019-02-14 09:22:55

标签: python python-3.x

我的外部文件以'username,score'的形式保存在行中,我需要按分数降序对文件进行排序,这是到目前为止的内容:

def Highscores():
    with open ('leaderboards.txt','a') as scores:
        scores.write (Uusername +','+ str(score)+'\n')
        sorted(lines, key=itemgetter(3), reverse=True)
    with open ('leaderboards.txt','r') as read:
        head = [next(read) for x in xrange(5)]
        print (head)

我知道第4行中有错误,但是,一旦下订单,我就需要打印前5行 例如:

在文本文件中:

User,40  
User2,39  
User3,25  

并打印:

User,40
User2,39
User3,25

1 个答案:

答案 0 :(得分:1)

使用pandas很容易。 假设input.txt就像

User,40
User2,39
User3,25

以下代码将解决您的问题

import pandas as pd
df = pd.read_csv('input.txt',header=None,names=['username','score'])
df.sort_values(by='score',ascending=False)
df.to_csv('output.txt')
print(df.head(n=5))