2017-03-09 7 views
0

목록을 정렬 할 수 있도록 csv 파일을 열어 문자열에서 정수로 값을 변환하려고합니다. 현재 목록을 정렬하면 얻을 수있는 결과는 "[[], ['190'], ['200'], ['250'], ['350'], ['90']]"입니다. 여기 내 코드가있다.리스트에서 문자열을 정수형으로 변환

import csv 

def bubbleSort(scores): 
    for length in range(len(scores)-1,0,-1): 
     for i in range(length): 
      if scores[i]>scores[i+1]: 
       temp = scores[i] 
       scores[i] = scores[i+1] 
       scores[i+1] = temp 


with open ("rec_Scores.csv", "rb") as csvfile: 
    r = csv.reader(csvfile) 
    scores = list(r) 


bubbleSort(scores) 
print(scores) 

이것은 수정하기가 쉽지만 나는이 문제를 해결하는 데 도움이 될 수 있다면 여전히 새로운 것이므로 많은 도움이 될 것입니다.

+0

'= 목록 (R)이''점수 =로 변경해야 점수 [[INT (x)의 경우 x.isdigit() 다른 X :이 코드를 어떻게 보일지입니다 for row in]에있는 행에 대한]. – Abdou

답변

0

점수 목록의 문자열 번호를 int 숫자로 변환하려면 scores_int = [점수 (점수) 점수에 int (점수)]를 추가해야합니다.

CSV 가져 오기

def bubbleSort(scores): 
    for length in range(len(scores)-1,0,-1): 
    for i in range(length): 
     if scores[i]>scores[i+1]: 
      temp = scores[i] 
      scores[i] = scores[i+1] 
      scores[i+1] = temp 


with open ("rec_Scores.csv", "rb") as csvfile: 
r = csv.reader(csvfile) 
scores = list(r) 
scores_int = [int(score) for score in scores] 

    bubbleSort(scores_int) 
    print(scores) 
+0

"TypeError : int() 인수에 'list'가 아닌 문자열이나 숫자 여야합니다." –

+1

scores_int = [int 점수 (점수 [0]) 점수 시도] –