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 相关文章推荐
MySQLdb ImportError: libmysqlclient.so.18解决方法
Aug 21 Python
django轻松使用富文本编辑器CKEditor的方法
Mar 30 Python
Python查询IP地址归属完整代码
Jun 21 Python
python实现聚类算法原理
Feb 12 Python
使用python爬虫获取黄金价格的核心代码
Jun 13 Python
Python爬虫学习之翻译小程序
Jul 30 Python
django基于存储在前端的token用户认证解析
Aug 06 Python
Python timer定时器两种常用方法解析
Jan 20 Python
python3 xpath和requests应用详解
Mar 06 Python
使用keras时input_shape的维度表示问题说明
Jun 29 Python
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
May 17 Python
python脚本框架webpy模板赋值实现
Nov 20 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 输出缓存详解
2009/06/20 PHP
php生成EAN_13标准条形码实例
2013/11/13 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
2015/12/31 PHP
thinkPHP的表达式查询用法详解
2016/09/14 PHP
php中引用符号(&)的使用详细介绍
2016/12/06 PHP
php获取微信openid方法总结
2019/10/10 PHP
让alert不出现弹窗的两种方法
2014/05/18 Javascript
js Calender控件使用详解
2015/01/05 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
jquery控制页面部分刷新的方法
2015/06/24 Javascript
js点击文本框后才加载验证码实例代码
2015/10/20 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
手机Web APP如何实现分享多平台功能
2016/08/19 Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
2016/08/24 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
Angularjs中使用轮播图指令swiper
2017/05/30 Javascript
Angular4 中常用的指令入门总结
2017/06/12 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
[02:31]DOTA2帕克 英雄基础教程
2013/11/26 DOTA
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
[56:00]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第一局
2016/03/05 DOTA
Python入门教程之if语句的用法
2015/05/14 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
python保存字典和读取字典的实例代码
2019/07/07 Python
解决Python设置函数调用超时,进程卡住的问题
2019/08/08 Python
巴西一家专门从事家居和装饰的连锁店:Camicado
2019/08/14 全球购物
TCP/IP的分层模型
2013/10/27 面试题
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
2016/01/12 面试题
客户经理竞聘演讲稿
2014/05/15 职场文书
员工合理化建议书
2014/05/19 职场文书
通知书大全
2015/04/27 职场文书
pytorch中[..., 0]的用法说明
2021/05/20 Python
一次SQL如何查重及去重的实战记录
2022/03/13 MySQL
python标准库ElementTree处理xml
2022/05/20 Python
python 判断字符串当中是否包含字符(str.contain)
2022/06/01 Python