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生成密码库功能示例
May 23 Python
详解python中的 is 操作符
Dec 26 Python
用Python将一个列表分割成小列表的实例讲解
Jul 02 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
Jul 04 Python
Python实现按逗号分隔列表的方法
Oct 23 Python
python 判断矩阵中每行非零个数的方法
Jan 26 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
Jul 09 Python
python用win32gui遍历窗口并设置窗口位置的方法
Jul 26 Python
python 两个数据库postgresql对比
Oct 21 Python
python数据分析:关键字提取方式
Feb 24 Python
python中的错误如何查看
Jul 08 Python
python之pygame模块实现飞机大战完整代码
Nov 29 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+mysql 实现身份验证代码
2010/03/24 PHP
php缩小png图片不损失透明色的解决方法
2013/12/25 PHP
Yii2 输出xml格式数据的方法
2016/05/03 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
基于php+MySql实现学生信息管理系统实例
2020/08/04 PHP
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
JQuery从头学起第二讲
2010/07/04 Javascript
理解Javascript_08_函数对象
2010/10/15 Javascript
JavaScript获取一个范围内日期的方法
2015/04/24 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
JS本地刷新返回上一页代码
2016/07/25 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
2016/10/10 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
讲解vue-router之什么是嵌套路由
2018/05/28 Javascript
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
微信小程序 slot踩坑的解决
2019/04/01 Javascript
小程序实现搜索框功能
2020/03/26 Javascript
微信小程序点餐系统开发常见问题汇总
2019/08/06 Javascript
Python HTMLParser模块解析html获取url实例
2015/04/08 Python
python使用PyGame播放Midi和Mp3文件的方法
2015/04/24 Python
Python中map和列表推导效率比较实例分析
2015/06/17 Python
用python记录运行pid,并在需要时kill掉它们的实例
2017/01/16 Python
python 处理dataframe中的时间字段方法
2018/04/10 Python
transform python环境快速配置方法
2018/09/27 Python
Python3获取电脑IP、主机名、Mac地址的方法示例
2019/04/11 Python
Django中提示消息messages的设置方式
2019/11/15 Python
3种python调用其他脚本的方法
2020/01/06 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
2020/09/29 Python
巧用CSS3 border实现图片遮罩效果代码
2012/04/09 HTML / CSS
CSS3实现10种Loading效果
2016/07/11 HTML / CSS
eVitamins日本:在线购买折扣维生素、补品和草药
2019/04/04 全球购物
机电专业大学生求职信
2013/10/04 职场文书
绝对经典成功的大学生推荐信
2013/11/08 职场文书
优秀团员事迹材料
2014/12/25 职场文书
升职自荐信范文
2015/03/27 职场文书