programing

Python 피클 오류 : UnicodeDecodeError

nasanasas 2020. 11. 14. 10:17
반응형

Python 피클 오류 : UnicodeDecodeError


Textblob을 사용하여 텍스트 분류를 수행하려고합니다. 먼저 모델을 훈련시키고 아래와 같이 pickle을 사용하여 직렬화합니다.

import pickle
from textblob.classifiers import NaiveBayesClassifier

with open('sample.csv', 'r') as fp:
     cl = NaiveBayesClassifier(fp, format="csv")

f = open('sample_classifier.pickle', 'wb')
pickle.dump(cl, f)
f.close()

그리고이 파일을 실행하려고 할 때 :

import pickle
f = open('sample_classifier.pickle', encoding="utf8")
cl = pickle.load(f)    
f.close()

이 오류가 발생합니다.

UnicodeDecodeError : 'utf-8'코덱이 위치 0에서 바이트 0x80을 디코딩 할 수 없습니다 : 잘못된 시작 바이트

다음은 내 sample.csv의 내용입니다.

내 SQL이 전혀 제대로 작동하지 않습니다. 이것은 잘못된 선택이었습니다, SQL

문제가 있습니다. 즉시 응답하십시오, 지원

여기서 내가 어디로 잘못 가고 있습니까? 도와주세요.


를 선택하여 open모드로 파일 wb, 당신은 생의 바이너리에 쓰기 선택하고있다. 적용되는 문자 인코딩이 없습니다.

따라서이 파일을 읽으려면 단순히 open모드에 있어야 합니다 rb.


파일을 다음과 같이 열어야한다고 생각합니다.

f = open('sample_classifier.pickle', 'rb')
cl = pickle.load(f)   

디코딩 할 필요가 없습니다. pickle.load저장 한 내용의 정확한 사본을 제공합니다. 이 시점에서 cl방금 만든 것처럼 작업 할 수 있어야 합니다.

참고 URL : https://stackoverflow.com/questions/32957708/python-pickle-error-unicodedecodeerror

반응형