我正在尝试遍历 csv 的每一行并带回前 3 个高分。只有 2 列,一个名为“用户”,另一个名为“高分”。我知道到目前为止我所拥有的并不多,但我完全被难住了。我觉得我可以获得最高分,方法是存储值并遍历每一行,然后在小于数字时替换它,但我不确定如果我想要前三行该怎么做。
我是这样开始的:
import csv
a = open('highscoreslist.csv')
spreadsheet = csv.DictReader(a)
names = []
scores = []
for row in speadsheet:
names.append(row['users'])
scores.append(row['highscores'])
现在我只是不知道该往哪个方向走。我打算将它们放在两个列表中,然后以这种方式找到最高的,但它们已经在字典中,所以我毫无意义。我也在尝试学习这个概念,所以我不想在 Pandas 中这样做。
最佳答案
您可以按高分对电子表格进行排序:
scores = sorted(scores, key=lambda row: row['highscores'], reverse=True)
现在前三名的分数在scores[0]
、scores[1]
和scores[2]
我的回答不包括 PANDAS
关于python - 如何根据 csv 中的列找到前三行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55111303/