python - 如何根据 csv 中的列找到前三行?

标签 python python-3.x csv

我正在尝试遍历 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/

相关文章:

python - 在 pandas 中使用 groupby 过滤数据

python - 使用 pymssql 的 Kerberos 委派(双跳)

Python tkinter rowspan 无法正确调整元素大小

python - 在 Django View 中记录响应时间

mysql - 将 CSV 文件上传到 MySQL 但有一个字段未显示在表中

python - CSV排序和删除python

python - matplotlib中如何设置千位分隔符为单引号?

python - 类和方法的一个装饰器

javascript - Node.js 1gb csv 文件上传 - 错误 : Request aborted

python - VSCode : How to import a module from my code path to another file in the same path?