是否可以在Python中读取二进制MATLAB .mat文件?

我看到SciPy声称支持读取.mat文件,但我没有成功。我安装了SciPy 0.7.0版本,但找不到loadmat()方法。


当前回答

需要导入,导入scipy.io…

import scipy.io
mat = scipy.io.loadmat('file.mat')

其他回答

Scipy可以很好地加载.mat文件。 我们可以使用get()函数将其转换为numpy数组。

mat = scipy.io.loadmat('point05m_matrix.mat')

x = mat.get("matrix")
print(type(x))
print(len(x))

plt.imshow(x, extent=[0,60,0,55], aspect='auto')
plt.show()

需要导入,导入scipy.io…

import scipy.io
mat = scipy.io.loadmat('file.mat')

安装了MATLAB 2014b或更新版本后,可以使用MATLAB for Python引擎:

import matlab.engine
eng = matlab.engine.start_matlab()
content = eng.load("example.mat", nargout=1)

读取文件

import scipy.io
mat = scipy.io.loadmat(file_name)

检查MAT变量的类型

print(type(mat))
#OUTPUT - <class 'dict'>

字典中的键是MATLAB变量,值是分配给这些变量的对象。

首先将.mat文件保存为:

save('test.mat', '-v7')

之后,在Python中,使用常用的loadmat函数:

import scipy.io as sio
test = sio.loadmat('test.mat')