python - 使用两位数字订购 CSV
问题描述
我正在尝试为游戏创建一个排行榜,在玩完游戏后,python 脚本会访问一个 CSV 文件(未排序)并打印出得分最高的前 5 人。Python 似乎可以很好地处理一位数字,但我无法让它处理 2 位数字。这是代码:
import csv
import operator
sample = open('csv_sample2.txt', 'r')
csv1 = csv.reader(sample,delimiter=',')
sort = sorted(sample, key=operator.itemgetter(1))
for eachline in sort:
print(eachline)
这是输出:(我现在只使用占位符名称)
['Matt Damon', ' 12']
['Robin Williams', ' 14']
['Billy Crystal', ' 15']
['Minnie Driver', ' 17']
['Peter Sellers', ' 6']
['Robert De Niro', ' 8']
['Stanley Kubrick', ' 9']
这是原始的排行榜文件:
Matt Damon, 12
Robert De Niro, 8
Billy Crystal, 15
Peter Sellers, 6
Stanley Kubrick, 9
Robin Williams, 14
Minnie Driver, 17
我如何才能正确订购数字?
解决方案
...: sample = [['Matt Damon', ' 12'],
...: ['Robin Williams', ' 14'],
...: ['Billy Crystal', ' 15'],
...: ['Minnie Driver', ' 17'],
...: ['Peter Sellers', ' 6'],
...: ['Robert De Niro', ' 8'],
...: ['Stanley Kubrick', ' 9']]
...:
...: def get_int_item(o):
...: return int(o[1])
...:
...:
...: sort = sorted(sample, key=get_int_item)
...:
...: for eachline in sort:
...: print(eachline)
...:
['Peter Sellers', ' 6']
['Robert De Niro', ' 8']
['Stanley Kubrick', ' 9']
['Matt Damon', ' 12']
['Robin Williams', ' 14']
['Billy Crystal', ' 15']
['Minnie Driver', ' 17']
推荐阅读
- c++ - MFC SetWindowTextA 错误。我怎么解决这个问题
- c++ - 可以将键盘输入绑定到 Win32 中的单个应用程序吗?
- jquery - 如何从 React Js 中的 if/else 语句访问 div 的 id?
- javascript - 如何在 Vue Router 中的命名视图之间传递数据和事件?
- javascript - 如何过滤异步谓词上的数组?
- javascript - React Native-关闭和打开按钮
- kotlin - Kotlin 中的 If - Else
- python - Jinja2/Flask,我无法从复选框中获取动态值
- ruby-on-rails - Ruby gems Will_Paginate 样式
- c++ - 卡在代码中,同时在 codechef 中解决可能会烧掉