我想将38个.mat文件加载到字典中以容纳所有文件。 .mat文件被命名为subject1到subject38 我尝试过的代码是一个简单的for循环
import scipy.io as sio
data = {}
for i in range(1, 38):
data["data{}".format(i)] = sio.loadmat('subject{}.mat'.format(i))
我得到的错误是:
回溯(最近通话最近): 在第7行的文件“ D:/ senior project / python / dataAqu.py” data [“ data {0}”。format(i)] = sio.loadmat('subject {0} .mat'.format(i)) 在loadmat中的文件“ C:\ Users \ mamdo \ AppData \ Roaming \ Python \ Python27 \ site-packages \ scipy \ io \ matlab \ mio.py”,第208行 matfile_dict = MR.get_variables(变量名称) get_variables中的文件“ C:\ Users \ mamdo \ AppData \ Roaming \ Python \ Python27 \ site-packages \ scipy \ io \ matlab \ mio5.py”,第292行 res = self.read_var_array(hdr,process) 文件“ C:\ Users \ mamdo \ AppData \ Roaming \ Python \ Python27 \ site-packages \ scipy \ io \ matlab \ mio5.py”,行252,在read_var_array中 返回self._matrix_reader.array_from_header(标头,进程) scipy.io.matlab.mio5_utils.VarReader5.array_from_header中的文件“ mio5_utils.pyx”,行675 scipy.io.matlab.mio5_utils.VarReader5.array_from_header中的文件“ mio5_utils.pyx”,第705行 scipy.io.matlab.mio5_utils.VarReader5.read_real_complex中的文件“ mio5_utils.pyx”,行778 scipy.io.matlab.mio5_utils.VarReader5.read_numeric中的文件“ mio5_utils.pyx”,第450行 scipy.io.matlab.mio5_utils.VarReader5.read_element中的文件“ mio5_utils.pyx”,第355行 scipy.io.matlab.streams.ZlibInputStream.read_string中的文件“ streams.pyx”,第194行 scipy.io.matlab.pyalloc.pyalloc_v中的文件“ pyalloc.pxd”,第9行 MemoryError
答案 0 :(得分:0)
所以我发现了问题。如果出现错误,请通过其他任何程序(例如matlab)打开Mat文件。
此外,如果存在内存问题,请尝试分别集成mat文件并执行所需的任何代码,然后加载下一个文件。