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 相关文章推荐
使用Python3编写抓取网页和只抓网页图片的脚本
Aug 20 Python
Python中的列表生成式与生成器学习教程
Mar 13 Python
Python制作简易注册登录系统
Dec 15 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
Sep 26 Python
Python+OpenCV人脸检测原理及示例详解
Oct 19 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
Jul 27 Python
python如何实现代码检查
Jun 28 Python
使用PyCharm进行远程开发和调试的实现
Nov 04 Python
Python API自动化框架总结
Nov 12 Python
Python龙贝格法求积分实例
Feb 29 Python
Python基于read(size)方法读取超大文件
Mar 12 Python
Python爬虫入门教程01之爬取豆瓣Top电影
Jan 24 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
zf框架的registry(注册表)使用示例
2014/03/13 PHP
Yii 快速,安全,专业的PHP框架
2014/09/03 PHP
PHP模块化安装教程
2016/06/01 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
2016/03/18 Javascript
url传递的参数值中包含&时,url自动截断问题的解决方法
2016/08/02 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
基于原生js运动方式关键点的总结(推荐)
2017/10/01 Javascript
JS通过位运算实现权限加解密
2018/08/14 Javascript
JointJS流程图的绘制方法
2018/12/03 Javascript
微信小程序和百度的语音识别接口详解
2019/05/06 Javascript
RxJS的入门指引和初步应用
2019/06/15 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
2021/01/08 Vue.js
Python 面向对象 成员的访问约束
2008/12/23 Python
Python2和Python3中print的用法示例总结
2017/10/25 Python
python正则表达式之对号入座篇
2018/07/24 Python
Python中使用遍历在列表中添加字典遇到的坑
2019/02/27 Python
Python求解正态分布置信区间教程
2019/11/20 Python
Python中实现输入超时及如何通过变量获取变量名
2020/01/18 Python
基于python实现模拟数据结构模型
2020/06/12 Python
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
英国最大的电脑零售连锁店集团:PC World
2016/10/10 全球购物
Evisu官方网站:日本牛仔品牌,时尚街头设计风格
2016/12/30 全球购物
分布式数据库需要考虑哪些问题
2013/12/08 面试题
汽车专业毕业生自荐信
2013/11/03 职场文书
文言文形式的学生求职信
2013/12/03 职场文书
心得体会开头
2014/01/01 职场文书
大学生社会实践活动总结
2014/07/03 职场文书
2015初中教导处工作总结
2015/07/21 职场文书
css3实现背景图片颜色修改的多种方式
2021/04/13 HTML / CSS
MySQL REVOKE实现删除用户权限
2021/06/18 MySQL
了解Redis常见应用场景
2021/06/23 Redis
分享Python获取本机IP地址的几种方法
2022/03/17 Python
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技