品易云推流 关闭
文章详情页
文章 > Python高级 > python中使用模块scipy.io处理mat数据的两种方法

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

头像

宋雪维

2021-03-24 09:44:329776浏览 · 0收藏 · 0评论

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

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

1、使用语法

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

2、使用实例

import scipy.io as sio
import numpy as np

#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、使用实例

import scipy.io as sio
import numpy as np

#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方法。

import h5py
mat = h5py.File(mat_path)
mat = np.transpose(mat['you_matrix_name_in_mat'])

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

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图