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从入门到精通(DAY 3)
Dec 20 Python
玩转python爬虫之URLError异常处理
Feb 17 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
Feb 13 Python
python下读取公私钥做加解密实例详解
Mar 29 Python
tensorflow入门之训练简单的神经网络方法
Feb 26 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
May 18 Python
python smtplib模块实现发送邮件带附件sendmail
May 22 Python
python项目对接钉钉SDK的实现
Jul 15 Python
Python列表的切片实例讲解
Aug 20 Python
Python enumerate() 函数如何实现索引功能
Jun 29 Python
学python最电脑配置有要求么
Jul 05 Python
python opencv检测直线 cv2.HoughLinesP的实现
Jun 18 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 a simple smtp class
2007/11/26 PHP
PHP动态创建Web站点的方法
2011/08/14 PHP
php将图片保存入mysql数据库失败的解决方法
2014/12/27 PHP
经典PHP加密解密函数Authcode()修复版代码
2015/04/05 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
常用的jquery模板插件——jQuery Boilerplate介绍
2014/09/23 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
JS获取下拉框显示值和判断单选按钮的方法
2015/07/09 Javascript
jQuery常用且重要方法汇总
2015/07/13 Javascript
js实现iPhone界面风格的单选框和复选框按钮实例
2015/08/18 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
JavaScript实现的CRC32函数示例
2016/11/23 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
2017/02/05 Javascript
Cookies 和 Session的详解及区别
2017/04/21 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
在Vue中使用echarts的实例代码(3种图)
2017/07/10 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
2019/07/10 jQuery
微信小程序跳转到其他网页(外部链接)的实现方法
2019/09/20 Javascript
vue基本使用--refs获取组件或元素的实例
2019/11/07 Javascript
Vue 监听元素前后变化值实例
2020/07/29 Javascript
python顺序的读取文件夹下名称有序的文件方法
2018/07/11 Python
Django之编辑时根据条件跳转回原页面的方法
2019/08/21 Python
python生成器推导式用法简单示例
2019/10/08 Python
在Python 的线程中运行协程的方法
2020/02/24 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
2020/06/18 Python
Java的for语句中break, continue和return的区别
2013/12/19 面试题
药物学专业学生的自我评价
2013/10/27 职场文书
经典优秀个人求职信分享
2013/12/12 职场文书
建筑安全员岗位职责
2015/02/15 职场文书
售后前台接待岗位职责
2015/04/03 职场文书
工程服务质量承诺书
2015/04/29 职场文书
新手必备之MySQL msi版本下载安装图文详细教程
2021/05/21 MySQL
新手必备Python开发环境搭建教程
2021/05/28 Python