2011-10-25 7 views
-2

목록에 데이터를 구문 분석 할 CSV 파일이 있습니다. 그래서 나는 다음과 같은 그래서 기본적으로 그 을 읽을 수있는 파이썬 CSV 모듈을 사용하고 있습니다 :목록에 파이썬 구문 분석 csv

지금
import csv 
fin = csv.reader(open(path,'rb'),delimiter=' ',quotechar='|') 
print fin[0] 
#gives the following 
['"1239","2249.00","1","3","2011-02-20"'] 

#lets say i do the following 
ele = str(fin[0]) 
ele = ele.strip().split(',')  
print ele 
#gives me following 
['[\'"1239"', '"2249.00"', '"1"', '"3"', '"2011-02-20"\']'] 

ELE [0] 나 제공 -> 출력 ---> [ ' "1239"

을 어떻게 제거해야합니까? '[ 결국, 1239를 얻고이를 정수로 변환하고 싶습니다.? 이 감사

일어나고 왜 모든 단서

편집 : * 신경 쓰지는 .. 첫번째 코멘트 * 당신은 문자열 목록을 변환하는 때문입니다

+7

실제로 쉼표로 구분 된 값으로 표시 될 때 구분 기호를'' ''로 설정 하시겠습니까? – blahdiblah

+0

감사합니다 .. 작품 .. .. :) – Fraz

답변

0

에 해결 덕분에 할 필요가 없습니다 이. (그것은 문자열이 경우) 목록의 첫 번째 요소를 잡고 구문 분석이 :

물론
>>> a = ['"1239","2249.00","1","3","2011-02-20"'] 
>>> a 
['"1239","2249.00","1","3","2011-02-20"'] 
>>> a[0] 
'"1239","2249.00","1","3","2011-02-20"' 
>>> b = a[0].replace('"', '').split(',') 
>>> b[-1] 
'2011-02-20' 

당신은 교체하는 분할 문자열 방법 당신은 유형이 문자열이 있는지 확인하거나 예외 경우를 처리해야하기 전에 그렇지 않습니다.

Blahdiblah도 정확하게 구분 기호가 잘못되었습니다.

1

구분 기호를 ','로 변경하면 csv 판독기에서 해당 값의 목록을 가져옵니다.