python 3 Python 2に格納されているpickleファイルを読み込む問題を解決します。


私はpython 3.5を使って一つのプログレッシブファイルxx.pkを処理していますが、これはpkファイルです。pkファイルはpython 2.7に保存しています。python 3で読み込むと次のようなエラーが発生します。

import pickle
picklefile=open('2ohsumed_wmd_d.pk','rb')
data=pickle.load(picklefile)
 
print (data)

UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 11: ordinal not in range(128)
解決策:

import pickle
picklefile=open('2ohsumed_wmd_d.pk','rb')
data=pickle.load(picklefile,encoding='iso-8859-1')
 
print (data)
以上の問題を解決しました。python 3はPython 2に記憶されているpickleファイルを読みます。問題は小編集で皆さんに共有されている内容です。参考にしていただければと思います。どうぞよろしくお願いします。