2015-10-05 10 views
27

मैं टेक्स्टब्लोब का उपयोग करके कुछ टेक्स्ट वर्गीकरण करने की कोशिश कर रहा हूं। मैं पहले मॉडल दिखा रहा हूं और नीचे दिखाए गए अचार का उपयोग करके इसे क्रमबद्ध कर रहा हूं।पायथन अचार त्रुटि: यूनिकोडडेकोडरर

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() 

मैं इस त्रुटि मिलती है:

My SQL is not working correctly at all. This was a wrong choice, SQL

I've issues. Please respond immediately, Support

:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte

के बाद मेरी sample.csv की सामग्री हैं

मैं यहाँ गलत कहां जा रहा हूं? कृपया मदद करे।

उत्तर

44

open मोड wb में फ़ाइल को चुनकर, आप कच्चे बाइनरी में लिखने का चयन कर रहे हैं। कोई चरित्र एन्कोडिंग लागू नहीं किया जा रहा है।

इस फ़ाइल को पढ़ने के लिए, आपको बस open मोड rb में होना चाहिए।

+0

बहुत बहुत धन्यवाद! पूरी तरह से काम किया! – 90abyss

11

मुझे लगता है कि आप के रूप में

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

आप इसे डिकोड करने के लिए नहीं होना चाहिए फ़ाइल को खोलने चाहिए। pickle.load आपको जो कुछ भी बचाया गया है उसकी एक सटीक प्रतिलिपि देगा। इस बिंदु पर, आप cl के साथ काम करने में सक्षम होना चाहिए जैसे कि आपने इसे अभी बनाया है।

संबंधित मुद्दे