Programming & Tip/Python
[Python | Error 해결] 'cp949' codec can't decode byte 0xec in position 51: illegal multibyte sequence - 구글링 해서 찾았는데도 같은 에러 만날 때 한 큐 해결방법 (chardet)
Awesomist
2024. 1. 5. 15:13
728x90
pandas read_csv를 써서 한글을 사용하더라도 UTF-8을 쓰던 CP949를 쓰던
구글링 stackoverflow를 사용해도 가틍ㄴ decode 에러가 뜰때가 있다.
이럴 땐 chardet으로 파일 상관없이 인코딩 패스하는 방법이 있다.
AS-IS
df = pd.read_csv("path/to/file.csv", encoding='cp949')
df = pd.read_csv("path/to/file.csv", encoding='cp949')
ERROR : 'cp949'codec can't decode byte 0xec in position 51: illegal multibyte sequence
TO-BE
import chardet
with open(FILEPATH, 'rb') as f:
result = chardet.detect(f.read()) # 파일 인코딩 확인
df = pd.read_csv(FILEPATH, encoding=result['encoding']) # 감지된 인코딩으로 파일을 읽음
반응형