在python中可以使用scipy.io中的函数loadmat()读取mat文件,函数savemat保存文件。
1. 保存成.mat文件
import scipy.io as sio # 导入模块
# save .mat
name = 'aaa.mat'
x = [[1, 1, 1, 2], [1, 1, 1, 3], [1, 1, 1, 4]]
y = [5, 6, 7, 8]
sio.savemat(name, {'x': x, 'y': y})
2. 读取.mat文件
import scipy.io as sio # 导入模块
# load .mat
name = 'aaa.mat'
data = sio.loadmat(name) # data: <type 'dict'>
x = data['x'] # x : <type 'numpy.ndarray'>
print("x:", x)
y = data['y']
print("y:", y)
读取非当前文件夹下的mat文件
import scipy.io as sio # 导入模块
import os
# load .mat
path = os.path.join('../../data/matlab_mat/', 'splits_prid.mat') # 获取目标文件的路径
data = sio.loadmat(path) # 加载数据
print(type(data)) # <class 'dict'>
# print(data)
aaa = data['ls_set'] # 获取数据
print(type(aaa)) # <class 'numpy.ndarray'>
print(aaa.shape) # (10, 178)