Stackoverflow/Python

pandas.parser.CParserError: Error tokenizing data. C error

The Neo 2021. 5. 21. 13:57

Pandas로 CSV를 읽는 와중, ParserError가 발생하였다.

pd_data = pd.read_csv(train_loc, encoding='utf=8')

 

에러 메세지

Traceback (most recent call last):
  File "D:/Project/steel/python/xjob_train.py", line 26, in <module>
    pd_data = pd.read_csv(train_loc, encoding='utf=8')
  File "C:\Users\user\anaconda3\lib\site-packages\pandas\io\parsers.py", line 676, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "C:\Users\user\anaconda3\lib\site-packages\pandas\io\parsers.py", line 454, in _read
    data = parser.read(nrows)
  File "C:\Users\user\anaconda3\lib\site-packages\pandas\io\parsers.py", line 1133, in read
    ret = self._engine.read(nrows)
  File "C:\Users\user\anaconda3\lib\site-packages\pandas\io\parsers.py", line 2037, in read
    data = self._reader.read(nrows)
  File "pandas\_libs\parsers.pyx", line 860, in pandas._libs.parsers.TextReader.read
  File "pandas\_libs\parsers.pyx", line 875, in pandas._libs.parsers.TextReader._read_low_memory
  File "pandas\_libs\parsers.pyx", line 929, in pandas._libs.parsers.TextReader._read_rows
  File "pandas\_libs\parsers.pyx", line 916, in pandas._libs.parsers.TextReader._tokenize_rows
  File "pandas\_libs\parsers.pyx", line 2071, in pandas._libs.parsers.raise_parser_error
pandas.errors.ParserError: Error tokenizing data. C error: Expected 169 fields in line 11, saw 214

 

위 에러는 CSV에서 정상적이지 않는 데이터 즉 Bad 데이터의 문제로 발생을 하는데 이는 옵션 하나로 처리가 가능하다.

 

수정한 소스

pd_data = pd.read_csv(train_loc, encoding='utf=8', error_bad_lines=False)

 

반응형