csv文件中的整数排序-python
我有一个csv文件,如下所示:csv文件中的整数排序-python,python,sorting,csv,Python,Sorting,Csv,我有一个csv文件,如下所示: Tom,10 Jack,10 Alice,10 Ben,9 我需要能够按照第二列从高到低进行排序。 我尝试了以下代码: import csv file = open("bestscores.csv","r") reader = csv.reader(file, delimiter = ' ') sort = sorted(reader,key=lambda x: int(x[1]), reverse=True) print(sort) 这将导致以下错误:
Tom,10
Jack,10
Alice,10
Ben,9
我需要能够按照第二列从高到低进行排序。
我尝试了以下代码:
import csv
file = open("bestscores.csv","r")
reader = csv.reader(file, delimiter = ' ')
sort = sorted(reader,key=lambda x: int(x[1]), reverse=True)
print(sort)
这将导致以下错误:
ValueError: invalid literal for int() with base 10: 'Tom,10'
如何解决此问题?您使用了错误的分隔符并对错误的索引进行了排序。这应该适合您:
import csv
with open("bestscores.csv","r") as fh
reader = csv.reader(fh, delimiter = ',')
sort = sorted(reader, key=lambda x: int(x[1]), reverse=True)
print(sort)
你也可以这样做
with open('file') as f:
print(''.join(sorted(f, key=lambda x: int(x.split(',')[1]), reverse=True)))
您可以在文件对象上调用sorted如果它对您有效,您可以接受答案吗?您应该使用with打开文件或至少关闭文件,您不需要显式添加
分隔符=','
。