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的Flask框架实现视频的流媒体传输
Mar 31 Python
深入解析Python中的descriptor描述器的作用及用法
Jun 27 Python
python下载图片实现方法(超简单)
Jul 21 Python
Python中的pygal安装和绘制直方图代码分享
Dec 08 Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
Jan 06 Python
python素数筛选法浅析
Mar 19 Python
Python中的TCP socket写法示例
May 11 Python
基于Python数据分析之pandas统计分析
Mar 03 Python
python的help函数如何使用
Jun 11 Python
python Selenium 库的使用技巧
Oct 16 Python
python在协程中增加任务实例操作
Feb 28 Python
Python实现双向链表
May 25 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增删改查示例自己写的demo
2013/09/04 PHP
php实现在线生成条形码示例分享(条形码生成器)
2013/12/30 PHP
destoon出现验证码不显示时的紧急处理方法
2014/08/22 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
PHP 无限级分类
2017/05/04 PHP
PHP简单实现记录网站访问量功能示例
2018/06/06 PHP
微信公众平台开发教程②微信端分享功能图文详解
2019/04/10 PHP
基于jquery的可多选的下拉列表框
2012/07/20 Javascript
jquery 淡入淡出效果的简单实现
2014/02/07 Javascript
document.addEventListener使用介绍
2014/03/07 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
2015/02/06 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
2015/06/11 Javascript
jquery.map()方法的使用详解
2015/07/09 Javascript
javascript实现网页端解压并查看zip文件
2015/12/15 Javascript
JavaScript的设计模式经典之代理模式
2016/02/24 Javascript
浅析Node.js实现HTTP文件下载
2016/08/05 Javascript
JavaScript动态数量的文件上传控件
2016/11/18 Javascript
jQuery实现最简单实用的分秒倒计时
2017/02/05 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
jQuery属性选择器用法实例分析
2019/06/28 jQuery
Vue实现push数组并删除的例子
2019/11/01 Javascript
[04:26]2014DOTA2国际邀请赛-Newbee顺利进入胜者组决赛 独家专访战神7
2014/07/19 DOTA
python 链接和操作 memcache方法
2017/03/04 Python
网红编程语言Python将纳入高考你怎么看?
2018/06/07 Python
详解多线程Django程序耗尽数据库连接的问题
2018/10/08 Python
python 动态生成变量名以及动态获取变量的变量名方法
2019/01/20 Python
python  logging日志打印过程解析
2019/10/22 Python
艺术系大学生毕业个人自我评价
2013/09/19 职场文书
优秀经理事迹材料
2014/02/01 职场文书
毕业生个人求职自荐信
2014/02/26 职场文书
金融管理毕业生求职信
2014/03/03 职场文书
人力资源管理毕业求职信
2014/08/05 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
行政助理岗位职责
2015/02/10 职场文书
经营目标责任书
2015/05/08 职场文书