使用scipy.io加载.mat文件时出错(ValueError:Mat 4 mopt格式错误)

时间:2016-06-25 03:48:17

标签: matlab scipy h5py

我正在尝试使用scipy和以下代码加载python中的.mat文件:

ValueError: Mat 4 mopt wrong format, byteswapping problem?

然而,当运行命令时,我收到错误:

margin: 0;

此错误消息是什么意思?我正在尝试加载的文件是否存在问题? 我非常喜欢编程所以任何建议都会非常感激:)如果有更好的方法在python中加载.mat文件我也愿意听到这些。提前谢谢!

1 个答案:

答案 0 :(得分:1)

之前我从未见过这个错误,但它是由scipy / scipy / io / matlab / mio4.py

中的第113行产生的
def read_header(self):
    ''' Read and return header for variable '''
    data = read_dtype(self.mat_stream, self.dtypes['header'])
    name = self.mat_stream.read(int(data['namlen'])).strip(b'\x00')
    if data['mopt'] < 0 or data['mopt'] > 5000:
        raise ValueError('Mat 4 mopt wrong format, byteswapping problem?')
    ...

通常loadmat是正确的文件加载器,至少在支持的类型中是这样的:

  支持

v4(级别1.0),v6和v7到7.2的matfiles。

你对这个文件在MATLAB中的保存方式一无所知吗?任何格式规范,如这些吗?