首页 > 解决方案 > 在 python 中读取 MATLAB 数据文件(.mat)

问题描述

我在 Matlab 中有一个复数数组,我想在 Python 中导入该数据。我已经尝试了所有方法,包括 Scipy 模块和 h5py 等。谁能告诉我任何其他可能的方法?我的 Matlab 版本是 2017b。和python版本是2.7。

标签: python-3.xpython-2.7matlabscipy

解决方案


在 MATLAB 中,使用以下'-v7'选项保存数据:

myMat = complex(rand(4), rand(4));
save('myfile', 'myMat', '-v7')

在 Python 中,.mat使用scipy.io.loadmat. 结果是一个 Python 字典:

>>> d = scipy.io.loadmat('myfile.mat')
>>> m = d['myMat']
>>> m[0,0]
'(0.421761282626275+0.27692298496088996j)'

等等。


推荐阅读