🖥️ IT, 컴퓨터/🐍 Python
[Python] 파이썬 오류 해결 :: ParserError: Error tokenizing data. C error: EOF inside string starting at row
김 홍시
2024. 10. 12. 15:58
반응형
문제상황
30만 행 정도 되는 큰 csv를 파이썬에서 읽는 과정에서 오류가 발생했다.
import pandas as pd
import csv
# CSV 파일 읽기 (에러 줄 건너뛰기)
file_path = 'fulldata_07_24_04_P_일반음식점.csv'
df = pd.read_csv(file_path, encoding='cp949')
이렇게 csv 파일 읽기 했는데
---------------------------------------------------------------------------
ParserError Traceback (most recent call last)
<ipython-input-32-1aa32f4fb8a1> in <cell line: 6>()
4 # CSV 파일 읽기 (에러 줄 건너뛰기)
5 file_path = 'fulldata_07_24_04_P_일반음식점.csv'
----> 6 df = pd.read_csv(file_path, encoding='cp949')
7
3 frames
/usr/local/lib/python3.10/dist-packages/pandas/io/parsers/c_parser_wrapper.py in read(self, nrows)
232 try:
233 if self.low_memory:
--> 234 chunks = self._reader.read_low_memory(nrows)
235 # destructive to chunks
236 data = _concatenate_chunks(chunks)
parsers.pyx in pandas._libs.parsers.TextReader.read_low_memory()
parsers.pyx in pandas._libs.parsers.TextReader._read_rows()
parsers.pyx in pandas._libs.parsers.TextReader._tokenize_rows()
parsers.pyx in pandas._libs.parsers.TextReader._check_tokenize_status()
parsers.pyx in pandas._libs.parsers.raise_parser_error()
ParserError: Error tokenizing data. C error: EOF inside string starting at row 48584
ParserError: Error tokenizing data. C error: EOF inside string starting at row 48584
라는 오류 나옴
해결 방법
csv 읽기에 오류가 있으니 txt로 변환해 읽어주면 어떨까 싶어서 했는데 성공함
단순히 파일명을 csv -> txt로 바꿔준 후
import pandas as pd
import csv
# CSV 파일 읽기 (에러 줄 건너뛰기)
file_path = 'fulldata_07_24_04_P_일반음식점.txt'
df = pd.read_table(file_path, encoding='cp949')
경로를 csv가 아닌 txt로,
read_csv를 read_table로 바꿔주니
잘 읽어짐
반응형