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传递参数方式小结
Apr 17 Python
Python实现Windows上气泡提醒效果的方法
Jun 03 Python
Django实现简单分页功能的方法详解
Dec 05 Python
Tensorflow 合并通道及加载子模型的方法
Jul 26 Python
利用python脚本如何简化jar操作命令
Feb 24 Python
pytorch numpy list类型之间的相互转换实例
Aug 18 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
Jan 25 Python
Python类继承和多态原理解析
Feb 05 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
Apr 14 Python
keras中模型训练class_weight,sample_weight区别说明
May 23 Python
matplotlib事件处理基础(事件绑定、事件属性)
Feb 03 Python
python基础详解之if循环语句
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使用正则表达式获取字符串中的URL
2016/12/29 PHP
PHP实现的各类hash算法长度及性能测试实例
2017/08/27 PHP
PHP文件操作实例总结【文件上传、下载、分页】
2018/12/08 PHP
javascript基本语法分析说明
2008/06/15 Javascript
JavaScript中“+”的陷阱深刻理解
2012/12/04 Javascript
js 判断上传文件大小及格式代码
2013/11/13 Javascript
Extjs实现下拉菜单效果
2016/04/01 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
JavaScript定时器实现的原理分析
2016/12/06 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
js数组与字符串常用方法总结
2017/01/13 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
详解webpack性能优化——DLL
2017/10/20 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
2018/01/13 Javascript
vue服务端渲染操作简单入门实例分析
2019/08/28 Javascript
layui 关闭open弹出框 刷新table表格页面的方法
2019/09/16 Javascript
Node.js API详解之 readline模块用法详解
2020/05/22 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
JS实现可以用键盘方向键控制的动画
2020/12/11 Javascript
Python笔记(叁)继续学习
2012/10/24 Python
bpython 功能强大的Python shell
2016/02/16 Python
浅谈Django自定义模板标签template_tags的用处
2017/12/20 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
python高效过滤出文件夹下指定文件名结尾的文件实例
2018/10/21 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
2019/11/26 Python
html5中去掉input type date默认样式的方法
2018/09/06 HTML / CSS
canvas离屏技术与放大镜实现代码示例
2018/08/31 HTML / CSS
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
旅游管理专业生自荐信范文
2014/01/02 职场文书
模范教师材料大全
2014/12/16 职场文书
芙蓉镇观后感
2015/06/10 职场文书
学习新党章心得体会2016
2016/01/15 职场文书
《日月潭》教学反思
2016/02/20 职场文书
Springboot如何使用logback实现多环境配置?
2021/06/16 Java/Android
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫
Python可视化神器pyecharts绘制地理图表
2022/07/07 Python