千家信息网

Python如何操作Matlab的Mat格式数据

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要介绍了Python如何操作Matlab的Mat格式数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python如何操作Matlab的Mat格式数据文章都会有
千家信息网最后更新 2025年01月18日Python如何操作Matlab的Mat格式数据

这篇文章主要介绍了Python如何操作Matlab的Mat格式数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python如何操作Matlab的Mat格式数据文章都会有所收获,下面我们一起来看看吧。

1. 非 matlab v7.3 files 读写

import scipy.io as sioimport numpy# matFile 读取matFile = 'matlabdata.mat'datas = sio.loadmat(matFile)# 加载 matFile 内的数据# 假设 mat 内保存的变量为 matlabdatamatlabdata = datas['matlabdata']# matFile 写入
save_matFile = 'save_matlabdata.mat'
save_matlabdata = np.array([1,2,3,4,5])
sio.savemat(save_matFile, {'array':save_matlabdata})

2. matlab v7.3 files 读取

如果 matlab 保存 data 时,采用的是 '-v7.3',scipy.io.loadmat函数加载数据会出现错误:

File "/usr/local/lib/python2.7/dist-packages/scipy/io/matlab/mio.py", line 64, in mat_reader_factory
raise NotImplementedError('Please use HDF reader for matlab v7.3 files')
NotImplementedError: Please use HDF reader for matlab v7.3 files

可以采用:

import h6pywith h6py.File('matlabdata.mat', 'r') as f:    f.keys() # matlabdata.mat 中的变量名datas = h6py.File('matlabdata.mat')['matlabdata'].value

补充:【Matlab/Python】Matlab和Python之间的数据传输

很多时候,我们需要把matlab里的数据保存下来,然后用python来处理。

方法一(.mat格式)

直接将matlab的数据存储成.mat格式,然后在python中利用scipy.io中的loadmat函数来读取

import scipy.io     as siodata = sio.loadmat(...)

方法二(.h6格式)

当要存储的.mat文件比较大时,matlab中需要用save -v7.3才能存储。但是利用方法一在python中读取时,会不支持。可以用以下方法读取

with h6py.File("mydata.mat") as f:    data = f["mydata"][:]

可以正确读取数据,但是数组维度会倒过来,即本来是(2,3,4,5),读出来会是(5,4,3,2)

但是只有.mat数据用save -v7.3保存时,才能用此方法读取,否则,应用方法一读取

所以可以在matlab中将数据保存成.h6格式,统一按照方法二来读取

matlab中存储.h6格式用如下方法

h6create('data.h6','/data',[2,3,4,5]);data = rand(2,3,4,5)h6write('data.h6','/data',data)

但是用python读取时,矩阵维度仍然会倒过来

关于"Python如何操作Matlab的Mat格式数据"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Python如何操作Matlab的Mat格式数据"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

数据 格式 方法 存储 知识 内容 函数 变量 篇文章 维度 中将 之间 二来 价值 只有 操作简单 数据传输 数组 文件 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 奉贤区营销软件开发销售电话 互联网科技感想 数据库字段类型介绍 甘肃听图网络技术有限公司 福建软件开发咨询热线 机械工程学院网络安全知识宣讲会 网站中常用的数据库有 亳州软件开发有限公司招聘 优质服务器机柜 拆机服务器配置什么意思 报考信息网络安全监察专业院校 航信A6数据库默认密码 甘谷网络安全指导 软件开发工程师主要职业 数据库access共享 苏州阿里云服务器排名 如何对待网络安全论文 房山区管理网络技术服务一体化 吉林潮流软件开发服务有哪些 蚌埠库存软件开发平台 数据库完整性保存技术 网络安全比赛预告论坛 怎么从数据库删除记录吗 pipeline远程连接服务器 数据库对电话号码添加约束表达式 cad软件开发什么意思啊 缓冲区溢出攻击网络安全实验 北仑戴尔机架式服务器 重庆科技学院软件开发 学习通网络安全法作业
0