Pandas에서 csv파일이나 엑셀파일을 열때 ‘utf-8’ codec can’t decode byte 0xa1 in position 18052: invalid start byte 이런식으로 에러가 나올 수가 있습니다.
참고로 여기서 0xa1이나 포지션 뒤의 20167 숫자는 컴퓨터나 파일마다 다를 수 있습니다.
큰 문제는 아니고 결국 코덱에서 인코드/디코드 문제이기 때문에 다른 인코딩을 사용하시면 됩니다.
utf-8 코덱으로는 디코더를 할수 없다는 에러이기 때문입니다.
이렇게 encoding 인자를 주어서 값을 cp949, euc-kr을 주면 한글 인코더로 열수 있습니다.
euc-kr과 cp949는 모두 한글 인코딩 방식으로 cp949가 euc-kr의 확장 버전입니다. 주로 cp949를 추천한다고 합니다.
이마저도 안된다고 하면 encoding=’unicode_escape’
유니코드 이스케프를 사용하면 정상적으로 파일이 열립니다.
Comments powered by Disqus.