python读取mat文件生成h5文件的实现
作者:doge 发布时间:2022-08-06 08:43:28
标签:python,mat文件,h5文件
读取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 数据结构比较复杂
一个list里面又嵌套了一个多维数据或者数据矩阵
数据结构2
sizeData数据结构相对简单
读取代码
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)
来源:https://blog.csdn.net/m0_37891226/article/details/89418592


猜你喜欢
- Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务。本文参考自Flask官方文档,
- 五花八门的SQL产品多得要命,或许你早顾不得其它甩开袖子就动手干了。但你要同时采用ASP和SQL的话就可能会头晕。MySQL、SQL Ser
- 就在前几天还是二十多度的舒适温度,今天一下子就变成了个位数,小编已经感受到冬天寒风的无情了。之前对获取天气都是数据上的搜集,做成了一个数据表
- 项目地址:https://github.com/astak16/shortlink错误处理在处理业务逻辑时,如果出错误了,需要统一处理错误响
- 1.官网语法pandas.read_csv(filepath_or_buffer, sep=NoDefault.no_default**,*
- 问题(来自Udacity机器学习工程师纳米学位预览课程)用 Python 实现函数 count_words(),该函数输入字符串 s 和数字
- 在编程时你一定碰到过时间触发的事件,在VB中有timer控件,而asp中没有,假如你要不停地查询数据库来等待一个返回结果的话,我想你一定知道
- 之前在训练网络的时候加载数据都是稀里糊涂的放进去的,也没有理清楚里面的流程,今天整理一下,加深理解,也方便以后查阅。pytorch+skle
- function clickButton(id) { &n
- 变量当把一个值赋给一个名字时,它就会存储在内存中,我们把这块内存称为变量(variable)。在大多数语言中,都把这种行为称为"给
- vsCode是什么Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几
- 一、概论超大型系统的特点为:1、处理的用户数一般都超过百万,有的还超过千万,数据库的数据量一般超过1TB;2、系统必须提供实时响应功能,系统
- 本文实例讲述了JavaScript+canvas实现七色板效果。分享给大家供大家参考,具体如下:效果图如下:html:<canvas
- 事情是这样的,我写了一个tornado的服务,过程当中我用logging记录一些内容,由于一开始并没有仔细观察tornado自已的日志管理,
- 一、命名元祖在python基础中, 我们学习元祖的时候,取元祖内部的元素都是通过索引来进行取值的。但是这种取值方式不够友好, 所以我们引入命
- 1、需求用户输入当前目录下任意文件名,程序完成对该文件的备份功能。备份文件名为xx[备份]后缀,例如:test[备份].txt。2、步骤接收
- 本文实例为大家分享了python实现微信自动回复的具体代码,供大家参考,具体内容如下新年到了,不想让一早上给你发送祝福的人心里一阵寒风,可以
- 使用pyttsx的python包,你可以将文本转换为语音。安装命令pip install pyttsx3 -i https://pypi.t
- 各大云计算提供商(亚马逊、谷歌和微软)目前都使用了键/值存储方式。然而,在San Francisco召开的MSDN开发者大会上,微软宣布他们
- 首先我们知道这个效果应该是一个老话题了。今天整理文件的时候,发现自己以前的一些布局的解决方法躺在文件夹里很长时间了,翻翻老底吧。需要说明的是