0

我正在尝试将 .mat 文件加载到非常大(>75MB)的 python 中,但出现以下错误。这可以帮助吗?

Traceback (most recent call last):
  File "prop_keys.py", line 34, in <module>
    prop_d = scipy.io.loadmat(prop)
  File "/usr/lib/python2.7/dist-packages/scipy/io/matlab/mio.py", line 175, in loadmat
    matfile_dict = MR.get_variables(variable_names)
  File "/usr/lib/python2.7/dist-packages/scipy/io/matlab/mio5.py", line 272, in get_variables
    hdr, next_position = self.read_var_header()
  File "/usr/lib/python2.7/dist-packages/scipy/io/matlab/mio5.py", line 224, in read_var_header
    stream = BytesIO(dcor.decompress(data))
SystemError: ../Objects/stringobject.c:3899: bad argument to internal function
4

1 回答 1

0

如此处所述:http ://projects.scipy.org/scipy/ticket/1894

该文件包含压缩数据,未压缩时高达 1.1GB。该错误消息是您的计算机没有足够的可用内存来存储此数据的症状。除此之外,文件的后半部分似乎也已损坏,Matlab 也无法正确加载。

(如果数据被压缩,Scipy 的 mat 文件加载例程实际上需要 2x 内存;但是,这将在 Scipy 0.13.0 中修复。)

于 2013-04-20T23:54:04.907 回答