python读取mat文件生成h5文件的实现


Posted in Python onJuly 15, 2022

读取mat文件生成h5文件

1. Matlab生成 .mat 文件

p = rand(1,10);
q = ones(10);
save('pqfile.mat','p','q')

当用python读取 pqfile.mat 这个文件时,可以通过get§, get(q) 分别获得p、q的值。

2. 读取 .mat 文件

import scipy.io as io
data = io.loadmat(path)
data = data.get('KeyValue')

导入的mat文件为dict类型,在load之后需要用get函数将字典内的内容读出来才可以进行下一步的处理。

读取mat文件 基于h5py库

今天有个任务需要读取mat文件中的数据,由于版本的关系,无法使用 sio.loadmat 读取数据

最后使用的方案是 h5py,下面我将记录下,我使用h5py库读取mat中两种不同数据结构的方法,这个可浪费了我不少时间,特别是第一种数据结构,嵌套多了一层,在debug的时候,只能看到他的类型是h5py.h5r.Reference,没有其他有价值的内容,幸好在网上得到启发,然后成功地读取了数据。

h5py库的api 地址 https://docs.h5py.org/en/stable/quick.html 有不懂可以多查阅哦!收获还挺大的!

两种数据结构

数据结构1

fixcell 数据结构比较复杂

python读取mat文件生成h5文件的实现

一个list里面又嵌套了一个多维数据或者数据矩阵

python读取mat文件生成h5文件的实现

数据结构2

sizeData数据结构相对简单

python读取mat文件生成h5文件的实现

读取代码

import h5py
 
fix_data_file_location_path = r"E:\1dataset\salObj\datasets\fixations\xxxx.mat"
fix_data_file_size_path = r"E:\1dataset\salObj\datasets\fixations\xxxx.mat"
fixdata_loca_file =  h5py.File(fix_data_file_location_path,"r")
fixdata_size_file =  h5py.File(fix_data_file_size_path,"r")
 
# 第一种数据结构的读取代码,这个例子只是读取了第一个cell中的部分数据
fixCell = fixdata_loca_file["fixCell"]
# 获取第一个cell
fixCell_key = fixCell[0][0]
# 根据cell作为Key 从fixdata_loca_file中取值
obj = fixdata_loca_file[fixCell_key]
print(obj[2][:])
 
 
# 第二种数据结构的读取代码
sizeData = fixdata_size_file["sizeData"]
# 获取第一个cell sizeData[0][6] 0代表的是第一列  6代表的是第六行
height = sizeData[0][6]
weight = sizeData[1][6]
print(height,"  ",weight)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
压缩包密码破解示例分享(类似典破解)
Jan 17 Python
Python实现对比不同字体中的同一字符的显示效果
Apr 23 Python
在Python中操作时间之tzset()方法的使用教程
May 22 Python
Python list操作用法总结
Nov 10 Python
Python中的__slots__示例详解
Jul 06 Python
使用python和pygame绘制繁花曲线的方法
Feb 24 Python
Pandas0.25来了千万别错过这10大好用的新功能
Aug 07 Python
详解Python3迁移接口变化采坑记
Oct 11 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
Mar 09 Python
PyQt5 界面显示无响应的实现
Mar 26 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
Oct 12 Python
Python面向对象编程之类的概念
Nov 01 Python
全网非常详细的pytest配置文件
Jul 15 #Python
Python如何加载模型并查看网络
Jul 15 #Python
Python绘制散点图之可视化神器pyecharts
Jul 07 #Python
Python可视化神器pyecharts之绘制箱形图
Jul 07 #Python
Python通用验证码识别OCR库ddddocr的安装使用教程
Jul 07 #Python
Django数据库(SQlite)基本入门使用教程
Jul 07 #Python
Python可视化神器pyecharts之绘制地理图表练习
You might like
Zend引擎的发展 [15]
2006/10/09 PHP
php 获取客户端的真实ip
2009/11/30 PHP
探讨PHP中this,self,parent的区别详解
2013/06/08 PHP
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
jQuery 使用手册(七)
2009/09/23 Javascript
javascript与CSS复习(二)
2010/06/29 Javascript
JavaScript 判断浏览器是否支持SVG的代码
2013/03/21 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
javascript中DOM复选框选择用法实例
2015/05/14 Javascript
JQuery+CSS实现图片上放置按钮的方法
2015/05/29 Javascript
JavaScript实现点击文本自动定位到下拉框选中操作
2016/06/15 Javascript
自动化测试读写64位操作系统的注册表
2016/08/15 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
2017/07/04 Javascript
快速掌握jquery分页插件jqPaginator的使用方法
2017/08/09 jQuery
jquery鼠标悬停导航下划线滑出效果
2017/09/29 jQuery
js实现图片粘贴上传到服务器并展示的实例
2017/11/08 Javascript
微信小程序wx.getImageInfo()如何获取图片信息
2018/01/26 Javascript
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
JavaScript实现图片的放大缩小及拖拽功能示例
2019/05/14 Javascript
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
vue实现点击按钮切换背景颜色的示例代码
2020/06/23 Javascript
[58:09]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第三场 6.2
2018/06/03 DOTA
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
python实现自动发送邮件发送多人、群发、多附件的示例
2018/01/23 Python
python数据分析数据标准化及离散化详解
2018/02/26 Python
python简单贪吃蛇开发
2019/01/28 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
Fanatics法国官网:美国体育电商
2019/08/27 全球购物
Currentbody德国站:健康与美容技术专家
2020/04/05 全球购物
单位办理社保介绍信
2014/01/10 职场文书
网上开店必备创业计划书
2014/01/26 职场文书
超市七夕促销活动方案
2014/08/28 职场文书
周年庆典答谢词
2015/01/20 职场文书
董事长新年致辞
2015/07/29 职场文书