2014-04-10 4 views
0

첫 번째 열 (이름)을 목록으로 가져와 사용자를 표시하고 CSV 파일의 변경 사항으로 업데이트됩니다. 이 코드를 사용 : 그러나첫 번째 열 CSV 파일 얻기 Python

import csv 
list = [] 
exRtFile = open ('exchangeRate.csv','r') 
exchReader = csv.reader(exRtFile) 
while True: 
    for column in exchReader: 
     list.append(column and column[0]) 
     print(list) 
     exRtFile.close 

을, 난의 underired 출력을 얻을 :

['US Dollar'] 
['US Dollar', []] 
['US Dollar', [], 'Japanese Yen'] 
['US Dollar', [], 'Japanese Yen', []] 
['US Dollar', [], 'Japanese Yen', [], 'Euro'] 
['US Dollar', [], 'Japanese Yen', [], 'Euro', []] 
['US Dollar', [], 'Japanese Yen', [], 'Euro', [], 'Pound Sterling'] 
['US Dollar', [], 'Japanese Yen', [], 'Euro', [], 'Pound Sterling', []] 
['US Dollar', [], 'Japanese Yen', [], 'Euro', [], 'Pound Sterling', [], 'Japanese Yen'] 
+0

변수 이름으로'list'를 사용하지 마십시오; 당신은 내장 타입을 마스킹하고 있습니다. –

+0

'csv.reader'는 여러분에게 행을 제공하기 때문에,'column' 변수는 혼란스럽게 이름이 붙여져 있습니다 - 여러분은 행을 반복하고'row [0]'을 원합니다. (추신 : ['newline = '''] (http://stackoverflow.com/questions/22991406/indexerror-list-index-out-of-range-csv-file#comment35112723_22991406) 잊지 마라!) – DSM

답변

3

당신은 빈 column 목록마다 다른 행을 추가됩니다; 추기 전에 열 에 대한 시험 :

col = [] 
exRtFile = open ('exchangeRate.csv','r') 
exchReader = csv.reader(exRtFile) 
for column in exchReader: 
    if column: 
     col.append(column[0]) 

하지이 거기에 무한 루프 (while True:)를 사용하십니까.

또는 자동으로 닫 목록의 이해와 컨텍스트 매니저로 파일을 사용하여 :

with open('exchangeRate.csv','rb') as exRtFile: 
    exchReader = csv.reader(exRtFile) 
     col = [c[0] for c in exchReader if c]: 
관련 문제