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

Python (159) 2023-07-06 05:05:53

本文教程操作环境: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'])

以上就是python中使用模块scipy.io处理mat数据的两种方法,希望能对你有所帮助哟·更多python高级学习推荐:python高级教程。

THE END

发表回复