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将xml和xsl转换为html的方法
Mar 10 Python
理解Python中函数的参数
Apr 27 Python
Python中Random和Math模块学习笔记
May 18 Python
Python查询阿里巴巴关键字排名的方法
Jul 08 Python
python实现决策树C4.5算法详解(在ID3基础上改进)
May 31 Python
深入理解Python分布式爬虫原理
Nov 23 Python
PyCharm 常用快捷键和设置方法
Dec 20 Python
python 美化输出信息的实例
Oct 15 Python
Django 日志配置按日期滚动的方法
Jan 31 Python
Python数据类型之Dict字典实例详解
May 07 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
Aug 21 Python
关于Django Models CharField 参数说明
Mar 31 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 变量的使用方法详解与实例代码
2013/09/11 PHP
PHP采用XML-RPC构造Web Service实例教程
2014/07/16 PHP
php+html5基于websocket实现聊天室的方法
2015/07/17 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
Zend Framework创建自己的动作助手详解
2016/03/05 PHP
jquery文字上下滚动的实现方法
2013/03/22 Javascript
Jquery 表单验证类介绍与实例
2013/06/09 Javascript
js 单击式的下拉菜单效果实例
2013/08/13 Javascript
Nodejs实现短信验证码功能
2017/02/09 NodeJs
javascript数组拍平方法总结
2018/01/20 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
Vue项目实现换肤功能的一种方案分析
2019/08/28 Javascript
vue开发中遇到的问题总结
2020/04/07 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
2020/08/14 Javascript
用Javascript实现发送短信验证码间隔功能
2021/02/08 Javascript
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
Python with用法实例
2015/04/14 Python
wxPython的安装图文教程(Windows)
2017/12/28 Python
Python内置模块ConfigParser实现配置读写功能的方法
2018/02/12 Python
python email smtplib模块发送邮件代码实例
2018/04/26 Python
Python读取YUV文件,并显示的方法
2018/12/04 Python
Python控制键盘鼠标pynput的详细用法
2019/01/28 Python
PyQt5 QTableView设置某一列不可编辑的方法
2019/06/25 Python
python射线法判断一个点在图形区域内外
2019/06/28 Python
python设置随机种子实例讲解
2019/09/12 Python
戴森台湾线上商城:Dyson Taiwan
2018/05/21 全球购物
德国黑胶唱片、街头服装及运动鞋网上商店:HHV
2018/08/24 全球购物
庆祝教师节活动方案
2014/01/31 职场文书
创新型城市实施方案
2014/03/06 职场文书
基层党组织公开承诺书
2014/03/28 职场文书
2014法制宣传日活动总结范文
2014/11/01 职场文书
汽车转让协议书
2015/01/29 职场文书
西安导游词
2015/02/12 职场文书
2016感恩父亲节主题广播稿
2015/12/18 职场文书
浅析NIO系列之TCP
2021/06/15 Java/Android