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使用smtplib模块通过gmail实现邮件发送的方法
May 08 Python
使用Python操作MySQL的一些基本方法
Aug 16 Python
在Python的while循环中使用else以及循环嵌套的用法
Oct 14 Python
python调用c++传递数组的实例
Feb 13 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
Jun 28 Python
通过 Django Pagination 实现简单分页功能
Nov 11 Python
python字符串,元组,列表,字典互转代码实例详解
Feb 14 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
May 20 Python
Python Socket TCP双端聊天功能实现过程详解
Jun 15 Python
基于selenium及python实现下拉选项定位select
Jul 22 Python
Jmeter HTTPS接口测试证书导入过程图解
Jul 22 Python
实例代码讲解Python 线程池
Aug 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
thinkphp3.2实现上传图片的控制器方法
2016/04/28 PHP
jquery实现带复选框的表格行选中删除时高亮显示
2013/08/01 Javascript
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
2013/11/14 Javascript
javascript 通用loading动画效果实例代码
2014/01/14 Javascript
jQuery+easyui中的combobox实现下拉框特效
2015/02/27 Javascript
深入理解JavaScript中的对象
2015/06/04 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
2015/09/15 Javascript
js弹出对话框方式小结
2015/11/17 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
js拼接html字符串的注意事项
2016/10/13 Javascript
Ajax和Comet技术总结
2017/02/19 Javascript
vue父组件通过props如何向子组件传递方法详解
2017/08/16 Javascript
旺旺在线客服代码 旺旺客服代码生成器
2018/01/09 Javascript
axios实现简单文件上传功能
2019/09/25 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
利用Python破解验证码实例详解
2016/12/08 Python
详解使用python的logging模块在stdout输出的两种方法
2017/05/17 Python
Python引用传值概念与用法实例小结
2017/10/07 Python
Python实现破解12306图片验证码的方法分析
2017/12/29 Python
Flask-WTF表单的使用方法
2019/07/12 Python
python支持多线程的爬虫实例
2019/12/21 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
2021/02/19 Python
植物选择:Botanic Choice
2017/02/15 全球购物
私有程序集与共享程序集有什么区别
2013/04/05 面试题
中医药大学市场营销专业自荐信
2013/09/29 职场文书
审核会计岗位职责
2013/11/08 职场文书
业务员岗位职责
2013/11/16 职场文书
高中的自我鉴定
2013/12/16 职场文书
优秀企业获奖感言
2014/02/01 职场文书
惹女朋友生气检讨书
2015/05/06 职场文书
返乡农民工证明
2015/06/24 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
2022新作动画《福星小子》释出宣传影片 加入内田真礼&宫野真守配音演出
2022/04/08 日漫