按数字列排序CSV以输出前5名
您好,我正在尝试排序一个CSV文件后,我写它,以便我可以显示前5名的分数(优胜者)。我可以打印前5个,但它们不是最高分按数字列排序CSV以输出前5名,csv,Csv,您好,我正在尝试排序一个CSV文件后,我写它,以便我可以显示前5名的分数(优胜者)。我可以打印前5个,但它们不是最高分 def main(): setup() print('Player 1 log in:') user1 = login() print('Player 2 log in: ') setup() user2 = login() print(user1, 'vs', user2) (player1, player1_w
def main():
setup()
print('Player 1 log in:')
user1 = login()
print('Player 2 log in: ')
setup()
user2 = login()
print(user1, 'vs', user2)
(player1, player1_win), (player2, player2_win) = game(user1, user2)
if player1_win:
winner = (user1, player1)
else:
winner = (user2, player2)
print('Well done,', winner[0],' you won with ', winner[1], ' Points')
with open('Leaderboard.csv', 'a', newline='') as file:
wr = csv.writer(file)
wr.writerow((winner))
with open('Leaderboard.csv', 'r', newline='') as file:
score_list = list(csv.reader(file))
print('\n', 'The top five players are: ', '\n')
for row in islice(score_list, 5):
print(*row)
file.close()
使用CSV文件时,使用熊猫会更容易
import pandas as pd
board = pd.read_csv("Leaderboard.csv")
board.sort_values(by="Score").head()
我强烈建议您查看社区教程:
只需显示您的
排行榜.csv'
的内容即可。还有什么与你的问题无关的吗?谢谢,我会去看看熊猫。我使用了下面的方法,它似乎很有效。panda会减少我的代码行吗?`score_list=list(csv.reader(file))sort=sorted(score_list,key=operator.itemgetter(1),reverse=True)是的,在我的例子中,panda将我的代码库缩短了很多