src:http://blog.csdn.net/google19890102/article/details/45672305
读取mat文件
import scipy.io as scio
dataFile = 'E://data.mat'
data = scio.loadmat(dataFile)
或者
import h5py
mat = h5py.File('yourfile.mat')
注意,读取出来的data是字典格式,可以通过函数type(data)查看。
# mat文件里可能有多个cell,各对应着一个dataset
# 可以用keys方法查看cell的名字
print(mat.keys())
# 可以用values方法查看各个cell的信息
print(mat.values())
# 可以用shape查看维度信息
print(mat['your_dataset_name'].shape)
# 注意,这里看到的shape信息与你在matlab打开的不同
# 这里的矩阵是matlab打开时矩阵的转置
# 所以,我们需要将它转置回来
# 读取 python 保存的 mat 格式文件就不需要转置
mat_t = np.transpose(mat['your_dataset_name'])
# mat_t 是numpy.ndarray格式
# 再将其存为npy格式文件
np.save('yourfile.npy', mat_t)
保存为文件
将这里的data['A']矩阵重新保存到一个新的文件dataNew.mat中:
dataNew = 'E://dataNew.mat'
scio.savemat(dataNew, {'A':data['A']})
注意:是以字典的形式保存。