我目前正在使用numpy加载函数加载gz文件时出现一个unpickling错误。我不确定导致这种情况的原因。可以提供一些建议。我不确定文件中的数据是否可能是问题。
import numpy as np
import gzip
import io
import pickle
n = np.load("proteins1.npy.gz",mmap_mode='r')
print(n)
这是错误:
UnpicklingError Traceback (most recent call last)
C:\Users\Aivan Francisco\Anaconda3\lib\site-packages\numpy\lib\npyio.py in load(file, mmap_mode, allow_pickle, fix_imports, encoding)
412 try:
--> 413 return pickle.load(fid, **pickle_kwargs)
414 except:
UnpicklingError:
在处理上述异常期间,发生了另一个异常:
OSError Traceback (most recent call last)
<ipython-input-1-b9f88486c866> in <module>()
7 #file_name = open("proteins1.npy.gz","r")
8
----&GT; 9 n = np.load(&#34; proteins1.npy.gz&#34;,mmap_mode =&#39; r&#39;) 10个印刷品(n) 11
C:\Users\Aivan Francisco\Anaconda3\lib\site-packages\numpy\lib\npyio.py in load(file, mmap_mode, allow_pickle, fix_imports, encoding)
414 except:
415 raise IOError(
--> 416 "Failed to interpret file %s as a pickle" % repr(file))
417 finally:
418 if own_fid:
OSError: Failed to interpret file 'proteins1.npy.gz' as a pickle
答案 0 :(得分:1)
我相信numpy.load
期望读取未压缩的*.npy
文件,而不是gzip压缩的*.npy.gz
文件。在加载文件之前,请先尝试解压缩文件。