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 当前全局变量和入口参数的所有属性
Jul 01 Python
使用相同的Apache实例来运行Django和Media文件
Jul 22 Python
Python机器学习之决策树算法实例详解
Dec 06 Python
python模拟表单提交登录图书馆
Apr 27 Python
Python使用re模块正则提取字符串中括号内的内容示例
Jun 01 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
Aug 01 Python
python的依赖管理的实现
May 14 Python
Django 使用easy_thumbnails压缩上传的图片方法
Jul 26 Python
python中的列表与元组的使用
Aug 08 Python
将python依赖包打包成window下可执行文件bat方式
Dec 26 Python
Python 判断时间是否在时间区间内的实例
May 16 Python
python实现学生信息管理系统(面向对象)
Jun 05 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实现多服务器共享SESSION数据的方法
2007/03/16 PHP
php 破解防盗链图片函数
2008/12/09 PHP
说说PHP的autoLoad自动加载机制
2012/09/27 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
2015/12/11 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
2016/08/17 PHP
PHP检测数据类型的几种方法(总结)
2017/03/04 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
PHP7修改的函数
2021/03/09 PHP
$.ajax返回的JSON无法执行success的解决方法
2011/09/09 Javascript
jQuery布局插件UI Layout简介及使用方法
2013/04/03 Javascript
javascript使用location.search的示例
2013/11/05 Javascript
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)
2016/06/02 Javascript
详解Js模板引擎(TrimPath)
2016/11/22 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
2017/06/13 jQuery
使用Vue实现图片上传的三种方式
2018/07/17 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
JS document文档的简单操作完整示例
2020/01/13 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
2020/09/09 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
python通过线程实现定时器timer的方法
2015/03/16 Python
python爬虫入门教程--优雅的HTTP库requests(二)
2017/05/25 Python
python3库numpy数组属性的查看方法
2018/04/17 Python
python获取指定字符串中重复模式最高的字符串方法
2018/06/29 Python
django query模块
2019/04/20 Python
python通过实例讲解反射机制
2019/10/17 Python
从numpy数组中取出满足条件的元素示例
2019/11/26 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
会计实习期自我鉴定
2013/10/06 职场文书
毕业生个人求职的自我评价
2013/10/28 职场文书
经典商业广告词
2014/03/13 职场文书
小学六年级学生评语
2014/04/22 职场文书
2015试用期转正工作总结
2014/12/12 职场文书