在Python中读取.mat文件

2024-04-26 08:16:03 发布

您现在位置:Python中文网/ 问答频道 /正文

可以用Python读取二进制的MATLAB.mat文件吗?

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


Tags: 文件方法版本二进制scipymatlabmat声称
3条回答

需要导入,import scipy.io。。。

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

首先将.mat文件另存为:

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

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

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

对于MatlabArrays 7.3版,scipy.io.savematscipy.io.loadmat都不工作。但好的方面是Matlab7.3版本的文件是hdf5数据集。因此可以使用许多工具来读取它们,包括NumPy

对于Python,您将需要h5py扩展,这需要系统上的HDF5。

import numpy as np
import h5py
f = h5py.File('somefile.mat','r')
data = f.get('data/variable1')
data = np.array(data) # For converting to a NumPy array

相关问题 更多 >