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 14 Python
Python网站验证码识别
Jan 25 Python
让python在hadoop上跑起来
Jan 27 Python
Python 爬虫多线程详解及实例代码
Oct 08 Python
Python用UUID库生成唯一ID的方法示例
Dec 15 Python
Python编程之event对象的用法实例分析
Mar 23 Python
用python实现将数组元素按从小到大的顺序排列方法
Jul 02 Python
Python使用pymysql从MySQL数据库中读出数据的方法
Jul 25 Python
python中logging模块的一些简单用法的使用
Feb 22 Python
Python学习笔记之While循环用法分析
Aug 14 Python
应用OpenCV和Python进行SIFT算法的实现详解
Aug 21 Python
Pycharm及python安装详细教程(图解)
Jul 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
Discuz 5.0 中读取纯真IP数据库函数分析
2007/03/16 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
判断浏览器的javascript版本的代码
2010/09/03 Javascript
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
jQuery基于当前元素进行下一步的遍历
2014/05/20 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
Bootstrap Fileinput文件上传组件用法详解
2016/05/10 Javascript
js判断是否为空和typeof的用法(详解)
2016/10/07 Javascript
基于JavaScript实现的快速排序算法分析
2017/04/14 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
vue 使用v-for进行循环的实例代码详解
2020/02/19 Javascript
原生js实现瀑布流效果
2020/03/09 Javascript
VueJS实现用户管理系统
2020/05/29 Javascript
Openlayers实现扩散的动态点(水纹效果)
2020/08/17 Javascript
[07:54]DOTA2-DPC中国联赛 正赛 iG vs VG 选手采访
2021/03/11 DOTA
paramiko模块安装和使用(远程登录服务器)
2014/01/27 Python
浅析Python中元祖、列表和字典的区别
2016/08/17 Python
完美解决Python2操作中文名文件乱码的问题
2017/01/04 Python
Python实现矩阵转置的方法分析
2017/11/24 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
python批量修改图片尺寸,并保存指定路径的实现方法
2019/07/04 Python
Django中信号signals的简单使用方法
2019/07/04 Python
如何解决tensorflow恢复模型的特定值时出错
2020/02/06 Python
django下创建多个app并设置urls方法
2020/08/02 Python
pandas针对excel处理的实现
2021/01/15 Python
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
德国在线订购鲜花:Fleurop
2018/08/25 全球购物
电子商务毕业生求职信
2013/11/10 职场文书
公司年会主持词
2014/03/22 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
乡镇党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书
反邪教学习心得体会
2016/01/15 职场文书