Python 3 UnicodeDecodeError: 'ascii' codec ne peut pas décoder les octets 0xe2 en position 0: ordinal pas in range(128)
Je suis la mise en œuvre de cette ordinateur portable sur Windows avec Python 3.5.3 et a obtenu l'erreur de suivi sur load_vectors (). J'ai essayé différentes solutions posté, mais aucune n'a fonctionné.
<ipython-input-86-dd4c123b0494> in load_vectors(loc)
1 def load_vectors(loc):
2 return (load_array(loc+'.dat'),
----> 3 pickle.load(open(loc+'_words.pkl','rb')),
4 pickle.load(open(loc+'_idx.pkl','rb')))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)
OriginalL'auteur user1569341 | 2017-09-05
Vous devez vous connecter pour publier un commentaire.
Vous devriez probablement vous donner codant pour
pickle.load(f, encoding='latin1')
, mais s'il vous plaît assurez-vous que tous les caractères dans votre fichier de suivre l'encodage.Par défaut, votre cornichon code est d'essayer de décoder le fichier avec 'ASCII' qui échoue. Au lieu de cela, vous pouvez indiquer explicitement à utiliser. Voir ce à partir de La Documentation.
Si latin1 ne résout pas le problème, essayez avec
encoding='bytes'
et puis décoder toutes les clés et les valeurs plus tard.Vous pouvez essayer l'option d'encodage lors de la lecture. Comment êtes-vous de lire le fichier, et ce qui est dans le fichier?
juste essayer d'écrire un fichier csv. et fichier ressemble à ceci paste.ofcode.org/CZk4aHSjvTwFfMU28JeRXk
OriginalL'auteur Sreenadh T C
J'ai résolu ce problème en copiant et collant l'ensemble de fichier csv dans le texte et de le lire avec:
OriginalL'auteur raditya gumay