파이썬 판다스에서 자료가 한글로 된 csv 파일을 불러오고자 할 때 유니코드 에러 문제로 파일을 불러오지 못하는 경우가 있다.
import pandas as pd
file = "file_path.csv"
data = pd.read_csv(file)
에러 내용은 아래와 같다.
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc7 in position 0: invalid continuation byte
이 문제를 해결하기 위해 우선 파일이 어떤 형식으로 인코딩 되었는지 확인 해본다.
import chardet
with open(file, 'rb') as rawdata:
result = chardet.detect(rawdata.read(100000))
print(result)
위 코드를 실행하면 해당 파일의 인코딩 타입을 알 수 있다.
{‘encoding’: ‘EUC-KR’, ‘confidence’: 0.99, ‘language’: ‘Korean’}
인코딩이 ‘EUC-KR’
로 되어 있습니다. 이제 pandas.read_csv()
를 할 때 이 인코딩 정보를 넣어주면 문제없이 파일을 불러들일 수 있다.
import pandas as pd
file = "file_path.csv"
data = pd.read_csv(file, encoding='EUC-KR')
data.head()