가볍게 배우고 깊게 즐기고 오래 남기기

[Python | Error 해결] 'cp949' codec can't decode byte 0xec in position 51: illegal multibyte sequence - 구글링 해서 찾았는데도 같은 에러 만날 때 한 큐 해결방법 (chardet) 본문

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'])  # 감지된 인코딩으로 파일을 읽음

 

 

 

 

 

 

 

 

 

반응형
Comments