python中使用模块scipy.io处理mat数据的两种方法

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

一、使用模块scipy.io的函数loadmat实现Python对mat数据的读写

1、使用语法

scipy.io.loadmat(file_name,mdict=None,appendmat=True,**kwargs)

2、使用实例

importscipy.ioassio
importnumpyasnp
#load
data=sio.loadmat('data.mat')

二、使用模块scipy.io的函数savemat实现Python对mat数据的读写

1、使用语法

scipy.io.savemat(file_name,mdict,appendmat=True,format='5',long_field_names=False,
do_compression=False,oned_as='row')

2、使用实例

importscipy.ioassio
importnumpyasnp
#save
array_x=np.array([1,2,3,4])
array_y=np.array([5,6,7,8])
sio.savemat('save.mat',{'arrayX':array_x,'arrayY':array_y})

注意:使用模块scipy.io读取mat数据有时会因为mat文件格式level太高而报错,例如:NotImplementedError: Please use HDF reader for matlab v7.3 files,这时就需要使用h5py方法。

importh5py
mat=h5py.File(mat_path)
mat=np.transpose(mat['you_matrix_name_in_mat'])
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。