我的外部文件以'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
答案 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))