Python3.5版。我在一个目录中有几百个.mat mat文件(7.3版)。我正在循环所有这些,以提取数据的两个不同部分。我循环使用,得到了第一批数据,没有任何问题,但是当我再次做同样的事情时,我只提取了数据的不同部分,我得到了以下错误:Traceback (most recent call last):
File "v73_test.py", line 43, in
mrfs_data = extract.convert1simProteinComCountsIntoDataFrame(path2mats)
File "/home/oli/Downloads/PhD/wc/mg/version_73_stuff/functions_for_joshuas_matFiles/extract_matFile_data_v73.py", line 586, in convert1simProteinComCountsIntoDataFrame
raw_data = getMatureProteinComplexs(path2mats, state_no)
File "/home/oli/Downloads/PhD/wc/mg/version_73_stuff/functions_for_joshuas_matFiles/extract_matFile_data_v73.py", line 53, in getMatureProteinComplexs
if len(np.array(state_file['ProteinComplex']['counts']).shape) == 3:
File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
File "/home/oli/virtualenvs/standard_python3.5/lib/python3.5/site-packages/h5py/_hl/dataset.py", line 696, in __array__
self.read_direct(arr)
File "/home/oli/virtualenvs/standard_python3.5/lib/python3.5/site-packages/h5py/_hl/dataset.py", line 657, in read_direct
self.id.read(mspace, fspace, dest, dxpl=self._dxpl)
File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
File "h5py/h5d.pyx", line 181, in h5py.h5d.DatasetID.read
File "h5py/_proxy.pyx", line 130, in h5py._proxy.dset_rw
File "h5py/_proxy.pyx", line 84, in h5py._proxy.H5PY_H5Dread
OSError: Can't read data (inflate() failed)
所以文件肯定在那里并且可以访问,所以我唯一能想到的就是数据被破坏了,但是如果是这样的话,我肯定无法从中提取任何数据?在