2017-10-14 12 views
-2

私は数時間試してきましたが、修正することはできません(私はコーディング/ Pythonの新機能です)。どのようにこれらを並べ替えることができますか?

with open('spelers.csv', 'r') as speler_lijst: 
       spelers_lijst_lezen = csv.reader(speler_lijst, delimiter=',', quotechar='"') 
       for line in spelers_lijst_lezen: 
        print(line[0],"\t", line[1]) 

だから私は、それは次のようにCSVファイルからのすべての私の入力を出力すること、それを持っています。今、私はそれらを並べ替えしたい

1 Name 1 
5 Name 5 
10 Name 10 
2 Name 2 

。しかし、私が試したことはすべて、私にエラーを与えたり、効果が望めなかったりします。

おかげ

+2

:あなたのソート・キーが文字列の使用int型のキャストではない場合:あなたは

EDITをソートしたい

with open('spelers.csv', 'r') as speler_lijst: spelers_lijst_lezen = csv.reader(speler_lijst, delimiter=',', quotechar='"') for line in sorted(spelers_lijst_lezen, key=lambda i: i[0]): print(line[0],"\t", line[1]) 

lambda機能の使用インデックスであなたが試したこととエラーを表示してください。 –

+0

実例を実行できるようにCSVファイルを追加できますか? numpys argsort-functionを見たいかもしれません。 – Stein

+0

csvを追加するにはどうすればよいですか? (コーディングとこのウェブサイトには申し訳ありません) – rawdps

答えて

1

試してみてください。

sorted(spelers_lijst_lezen, key=lambda i: int(i[0])) 
+0

これは実際にソートするために機能し、一歩近づけます。しかし、1桁目、2桁目などで並べ替えます.1,10,11,2,20,21など これは入力の前に入力を外したからだと思います。だから私は最初の部分をintにする必要があるだろうと思う。 – rawdps

+0

ソートはおそらく数値的に行われるべきであるから( '10''は' 2'の後にあるので)、 'int(i [0])' '' 10 "'は辞書型文字列ソートでは '' 2 ''よりも前にあります)。 – Blckknght

+0

はい問題を修正しました。皆さんありがとう – rawdps

関連する問題