Error

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 0: invalid start byte 오류 해결 방법

하루 2022. 3. 10. 22:00

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 0: invalid start byte 오류 해결 방법

원인

1. Pandas에서 인코딩 하는 방식에 있어서 한글이 포함된 csv, txt, excel 등의 파일을 읽어 들일 때 발생하게 된다.

2. 윈도우즈 경로상에 한글이 포함되어 있을 떄 Flask 실행 시 가끔 오류가 발생한다.

 

해결

1. 인코딩 인자에 한글 전용 인코딩 방식인 'cp949' 또는 'euc-kr' 을 파라미터로 추가함으로써 해결할 수 있다.

import pandas as pd
df = pd.read_csv('파일이름.csv', encoding='cp949')
import pandas as pd
df = pd.read_csv('파일이름.csv', encoding='euc-kr')

'cp949'와 'euc-kr' 모두 한글 인코딩 방식이지만, 'cp949'가 'euc-kr'의 확장 버전이므로 'cp949' 버전을 사용하는 것을 추천한다.

 

2. 윈도우즈 사용자명이 한글로 되어있을 경우, 영어로 바꿔준다. 설정을 바꾼 뒤에는 컴퓨터 재부팅하기

 

+사용자명을 영어로 바꾼 뒤에도 에러 메시지의 경로에 한글이 포함되어 있다면, 새로운 윈도우 사용자를 영어로 추가한다. (사용자명에 관리자 권한 주기 -> 새로 만든 윈도우 사용자를 개발 할 때 사용하는 계정으로 사용하면 된다)