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']})
注意:是以字典的形式保存。