我正在尝试使用Textblob进行文本分类。我首先训练模型并使用泡菜序列化它,如下所示。
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 我有问题。请立即回复,支持
我哪里出问题了?请帮帮忙。
发布于 2015-10-05 21:03:51
通过选择open模式下的wb文件,您将选择用原始二进制文件进行写入。没有应用字符编码。
因此,要读取该文件,只需在模式open中使用rb。
发布于 2015-10-05 21:09:48
我想你应该把文件打开
f = open('sample_classifier.pickle', 'rb')
cl = pickle.load(f) 你不应该破译它。pickle.load会给你一份你保存的任何东西的精确副本。此时,您应该能够像刚刚创建它一样使用cl。
发布于 2021-04-16 17:10:01
也许该文件是使用latin1编码的:
f = open('sample_classifier.pickle', encoding="latin1")https://stackoverflow.com/questions/32957708
复制相似问题