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 相关文章推荐
Python实现的视频播放器功能完整示例
Feb 01 Python
Python运维开发之psutil库的使用详解
Oct 18 Python
python实现计数排序与桶排序实例代码
Mar 28 Python
详解python爬虫系列之初识爬虫
Apr 06 Python
详解DeBug Python神级工具PySnooper
Jul 03 Python
Python实现微信小程序支付功能
Jul 25 Python
django实现类似触发器的功能
Nov 15 Python
python统计文章中单词出现次数实例
Feb 27 Python
Python递归实现打印多重列表代码
Feb 27 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
May 27 Python
python 解决mysql where in 对列表(list,,array)问题
Jun 06 Python
Python调用百度OCR实现图片文字识别的示例代码
Jul 17 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
PHP 已经成熟
2006/12/04 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
利用PHP扩展Xhprof分析项目性能实践教程
2018/09/05 PHP
jquery的Tooltip插件 qtip使用详细说明
2010/09/08 Javascript
JavaScript 基础篇之对象、数组使用介绍(三)
2012/04/07 Javascript
jqGrid日期格式的判断示例代码(开始日期与结束日期)
2013/11/08 Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
2014/10/29 Javascript
angularjs学习笔记之双向数据绑定
2015/09/26 Javascript
NodeJS实现阿里大鱼短信通知发送
2016/01/17 NodeJs
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
2016/10/20 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
nodejs实现的连接MySQL数据库功能示例
2018/01/25 NodeJs
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
Vue如何提升首屏加载速度实例解析
2020/06/25 Javascript
vue 实现tab切换保持数据状态
2020/07/21 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
[03:42]2014DOTA2国际邀请赛 第三日比赛排位扑朔迷离
2014/07/12 DOTA
[49:35]KG vs SECRET 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
对python3 中方法各种参数和返回值详解
2018/12/15 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
解决Djang2.0.1中的reverse导入失败的问题
2019/08/16 Python
python 定义类时,实现内部方法的互相调用
2019/12/25 Python
python基于property()函数定义属性
2020/01/22 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
2020/06/18 Python
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
在C中是否有模拟继承等面向对象程序设计特性的好方法
2012/05/22 面试题
实习自我评价怎么写
2013/12/02 职场文书
国富论读书笔记
2015/06/26 职场文书
先进工作者主要事迹材料
2015/11/03 职场文书
致创业您:正能量激励人心句子(48条)
2019/08/15 职场文书
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
2021/05/21 Python
spring boot中nativeQuery的用法
2021/07/26 Java/Android
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
2022/04/19 Javascript