728x90
판다스로 csv 파일을 읽어 왔을 때 Error tokenizing data. C error가 발생하는 경우 해결 방법에 대해서 알아보겠습니다.
Error tokenizing data. C error 발생 원인
read_csv로 csv 파일을 로딩할 떄 Error tokenizing data. C error가 발생하는 경우가 있습니다.
해당 오류는 쉼표로 분리되는 각 컬럼의 개수가 서로 다른 행이 존재하기 때문에 발생하는 에러로 csv 내 모든 데이터가 동일한 개수의 쉼표로 구분되어 있어야 하는데, 쉼표의 개수가 다른 행이 존재해서 발생하는 오류 입니다.
반응형
Error tokenizing data. C error 해결 방법
오류가 발생한 라인을 찾아서 삭제해도 해결할 수 있지만 이렇게 하면 해당 라인의 데이터를 사용할 수 없을 뿐더러 오류가 발생하는 행이 많을 경우 일일히 찾아서 삭제하기 힘듭니다.
그래서 직접 파일을 읽어서 데이터 프레임으로 변환하는 방법을 사용하면 해당 csv tokenizing data 에러를 해결 할 수 있습니다.
import csv
import pandas as pd
file = "CSV.csv"
f = open (file, encoding='utf8')
reader = csv.reader(f)
csv_list = [ l for l in reader]
f.close()
df = pd.DataFrame(csv_list)
위 코드를 이용해서 데이터 프레임을 생성하면 csv파일의 헤더(컬럼명)가 데이터 프레임의 첫번쨰 행으로 들어갑니다. 이를 다시 데이터 프레임의 컬럼으로 변경해 줍니다.
df = df.rename(columns=df.iloc[0]).drop(df.index[0])
이상 read_csv 시 Error tokenizing data. C error 발생 시 해결하는 방법을 알아보았습니다.
728x90
728x90
LIST
Comment