2017-10-14 1 views
-2

저는 2 시간 째 시도해 봤지만 수정이 불가능합니다 (코딩/파이썬에 익숙하지 않습니다).어떻게 정렬 할 수 있습니까?

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

지금 내가 그들을 정렬 싶습니다

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 파일 등으로부터 내 모든 입력을 인쇄하는 것이 그것이있다. 그러나 내가 시도한 모든 것들이 저에게 오류를 주거나 효과를 원하지 않습니다.

감사

+2

: 당신의 정렬 키 문자열을 사용 INT 캐스트가 아닌 경우 : 당신이

편집을 정렬 할

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, 10, 11, 2, 20, 21 등 일찍 입력에서 사람들을 만들었 기 때문에 그것이라고 생각합니다. 그래서 나는 첫 번째 부분을 int로 만들 필요가있다. – rawdps

+0

정렬은 숫자 적으로 이루어져야하기 때문에 key 함수에서 int (i [0])를 원할 수있다. ''10 "'은 사전 식 문자열 정렬에서"2 "보다 앞선다. – Blckknght

+0

예가 문제를 해결했습니다. 모두에게 감사합니다. – rawdps

관련 문제