如何将多个.mat文件加载到python脚本中

时间:2019-10-05 21:02:43

标签: python scipy

我想将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

1 个答案:

答案 0 :(得分:0)

所以我发现了问题。如果出现错误,请通过其他任何程序(例如matlab)打开Mat文件。

此外,如果存在内存问题,请尝试分别集成mat文件并执行所需的任何代码,然后加载下一个文件。