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使用matplotlib绘图时图例显示问题的解决
Apr 27 Python
Python使用QRCode模块生成二维码实例详解
Jun 14 Python
Python多进程并发与多线程并发编程实例总结
Feb 08 Python
python 输出上个月的月末日期实例
Apr 11 Python
python: 自动安装缺失库文件的方法
Oct 22 Python
使用PyQt4 设置TextEdit背景的方法
Jun 14 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
Sep 25 Python
python实现拉普拉斯特征图降维示例
Nov 25 Python
python pyqtgraph 保存图片到本地的实例
Mar 14 Python
python实现交并比IOU教程
Apr 16 Python
Python flask框架如何显示图像到web页面
Jun 03 Python
如何用python反转图片,视频
Apr 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
我用php+mysql写的留言本
2006/10/09 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
PHP微信支付实例解析
2016/07/22 PHP
在IE中调用javascript打开Excel的代码(downmoon原作)
2007/04/02 Javascript
for 循环性能比较 提高for循环的效率
2009/03/19 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
js+div实现图片滚动效果代码
2014/02/10 Javascript
nodejs分页类代码分享
2014/06/17 NodeJs
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
2018/07/19 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
2019/03/06 Javascript
使用vue中的混入mixin优化表单验证插件问题
2019/07/02 Javascript
详解使用WebPack搭建React开发环境
2019/08/06 Javascript
ElementUI radio组件选中小改造
2019/08/12 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
ES5和ES6中类的区别总结
2020/12/21 Javascript
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
从零学python系列之新版本导入httplib模块报ImportError解决方案
2014/05/23 Python
Python读取键盘输入的2种方法
2015/06/16 Python
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
详解 Python 与文件对象共事的实例
2017/09/11 Python
python编写朴素贝叶斯用于文本分类
2017/12/21 Python
Python数据分析之获取双色球历史信息的方法示例
2018/02/03 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
使用python判断你是青少年还是老年人
2018/11/29 Python
Python静态类型检查新工具之pyright 使用指南
2019/04/26 Python
代码中finally中的代码会不会执行
2012/02/06 面试题
企业出纳岗位职责
2014/03/12 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
高考学习决心书
2015/02/04 职场文书
海上钢琴师观后感
2015/06/03 职场文书
2016年公司中秋节致辞
2015/11/26 职场文书
Nginx动静分离配置实现与说明
2022/04/07 Servers