Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
csv文件中的整数排序-python_Python_Sorting_Csv - Fatal编程技术网

csv文件中的整数排序-python

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) 这将导致以下错误:

我有一个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)
这将导致以下错误:

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打开文件或至少关闭文件,您不需要显式添加
分隔符=','