私はこれを実装しています notebook WindowsでPython 3.5.3を使用し、load_vectors()呼び出しで次のエラーが発生しました。 。
<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)
おそらくpickle.load(f, encoding='latin1')
のエンコーディングを指定する必要がありますが、ファイル内のすべての文字がエンコーディングに従っていることを確認してください。
デフォルトでは、ピクルコードは「ASCII」でファイルをデコードしようとして失敗します。代わりに、どちらを使用するかを明示的に指定できます。 Documentation からこれを参照してください。
Latin1が解決しない場合は、encoding='bytes'
その後、すべてのキーと値をデコードします。
この問題を解決するには、csvファイル全体をコピーしてテキストに貼り付け、次のように読み取ります。
with open(self.path + "/review_collection.txt", "r", encoding="utf-8") as f:
read = f.read().splitlines()
for row in read:
print(row)
私も同じエラーを受け取りました。左右の二重引用符(中引用符)があるファイルからテキストをコピーして貼り付けることに気付きました。標準のダブルクォート( ")に変更すると、問題は修正されました!
引用符の違いについては、このリンクを参照してください: https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html