2016-06-22 4 views
2

내가 같이 CSV 파일에서 파이썬 스크립트를 통해 대용량 데이터 (수천 개의 행)를 읽을려고 read_csv :목록 지수는

..... 
2015-11-03 20:16:28,000;63,62; 
2015-11-03 20:16:29,000;63,75; 
2015-11-03 20:16:30,000;63,86; 
2015-11-03 20:16:31,000;64,25; 

을하지만 그 중 하나가 나타납니다 파일에 196541465 공백이있는 여분의 빈 행이있는 경우 - pandas lib의 read_csv를 사용하여 읽을 때 코드가 충돌합니다. (rows = 8191에 의해) 행을 제한 할 때,

data = pd.read_csv(input_file,skiprows = [0],usecols=[0,1,2],delimiter=';',decimal=',', names = [ 'date','angle','Unnamed'],na_filter = False,parse_dates = [0],date_parser = reformat_date,error_bad_lines = False,skip_blank_lines=True)#,nrows = 8191) 

범인의 행이 8192'th입니다 그것은 잘 작동 :

 File "/usr/lib/python2.7/dist-packages/pandas/core/frame.py", line 4221, in append 
     elif isinstance(other, list) and not isinstance(other[0], DataFrame): 
IndexError: list index out of range 

나는 folowing 명령을 사용하고 있습니다. 문서에서 많은 옵션을 시도했지만 작동하지 않는 것 같습니다! 어떤 생각?

+1

'csv' 파일을 수동으로 편집하고 있지 않습니까? – SvbZ3r0

+0

슬프게도 스크립트는 이처럼 많은 CSV 파일을 읽을 수 있으며 이러한 오류를 처리하고 싶습니다. –

+1

그 줄이 완전히 공백이라면,'skip_blank_lines = True'가 트릭을해야합니다. – SvbZ3r0

답변

1

열 수가 많지 않은 CSV 파일 (예 : 10 열, 단 8 개의 헤더)을 읽으려고했기 때문에이 오류가 발생했습니다. index_col=False을 설정하면 pandas는