本文由腾讯云+社区自动同步,原文地址 https://cloud.tencent.com/developer/article/1540864
两种在matlab和python间共享数据的方法。
一是用scipy
二是用h5py
import scipy.io as sio
#matlab文件名
matfn=u'your_file_name'
data=sio.loadmat(matfn)
#注意中括号里面的名称是在.mat中的,在matlab生成数据时确定
xi = data['xi']
yi = data['yi']
import scipy.io as sio
import numpy as np
###下面是讲解python怎么读取.mat文件以及怎么处理得到的结果###
load_fn = 'xxx.mat'
load_data = sio.loadmat(load_fn)
load_matrix = load_data['matrix'] #假设文件中存有字符变量是matrix,例如matlab中save(load_fn, 'matrix');当然可以保存多个save(load_fn, 'matrix_x', 'matrix_y', ...);
load_matrix_row = load_matrix[0] #取了当时matlab中matrix的第一行,python中数组行排列
###下面是讲解python怎么保存.mat文件供matlab程序使用###
save_fn = 'xxx.mat'
save_array = np.array([1,2,3,4])
sio.savemat(save_fn, {'array': save_array}) #和上面的一样,存在了array变量的第一行
save_array_x = np.array([1,2,3,4])
save_array_y = np.array([5,6,7,8])
sio.savemat(save_fn, {'array_x': save_array_x, 'array_x': save_array_x}) #同理,只是存入了两个不同的变量供
传送门
http://blog.stackoverflow.club/hdf5-usage/
Reference