python3 hdf5文件 遍历代码


Posted in Python onMay 19, 2021

看代码吧~

import h5py
import numpy as np
f = h5py.File('train/e1_1.hdf5')
key = ""
for k in f.keys():
    key = k
d = f[key]
print(d)
a = np.ones(d.shape)
d.read_direct(a)
print(a)
f.close()

补充:HDF5 文件及Python模块之h5py

HDF5文件

什么是HDF5文件呢?

先引用一波维基百科的介绍,『层级数据格式(Hierarchical Data Format:HDF)是设计用来存储和组织大量数据的一组文件格式(HDF4,HDF5)。

它最初开发于美国国家超级计算应用中心,现在由非营利社团HDF Group支持,其任务是确保HDF5技术的持续开发和存储在HDF中数据的持续可访问性。』。

HDF5 拥有一系列的优异特性,使其特别适合进行大量科学数据的存储和操作,如它支持非常多的数据类型,灵活,通用,跨平台,可扩展,高效的 I/O 性能,支持几乎无限量(高达 EB)的单文件存储等

如何在Linux中查看hdf5文件呢?

h5ls info.h5
# key1    Dataset {10000}
# key2    Dataset {10000,5}
# key3    Dataset {20000,30}

h5py模块

我们可以使用Python非常方便的读写hdf5文件,最常用的模块就是h5py。下面说明一下它的安装及使用方法:

安装模块

pip install h5py
pip install numpy
# numpy 通常是作为配合使用

对h5py的总结:

『一个 HDF5 文件是存储两类对象的容器,这两类对象分别为:

dataset:类似数组的数据集合; gropp;类似目录的容器,其中可以包含一个或多个 dataset 及其它的 group。

一个 HDF5 文件从一个命名为 "/" 的 group 开始,所有的 dataset 和其它 group 都包含在此 group 下,当操作 HDF5 文件时,如果没有显式指定 group 的 dataset 都是默认指 "/" 下的 dataset,另外类似相对文件路径的 group 名字都是相对于 "/" 的。

HDF5 文件的 dataset 和 group 都可以拥有描述性的元数据,称作 attribute。

用 h5py 操作 HDF5 文件,我们可以像使用目录一样使用 group,像使用 numpy 数组一样使用 dataset,像使用字典一样使用属性,非常方便和易用。』

写入hdf5文件

import h5py
import numpy as np
# 如果你要在根group下创建dataset
f = h5py.File('info.h5', 'w')
values1 = np.arange(12).reshape(4, 3)
values2 = np.arange(20).reshape(4, 5)
f.create_dataset(name='key1', data=np.array(values1, dtype='int64'))
f.create_dataset(name='key2', data=np.array(values2, dtype='int64'))
# 如果你要创建一个group(目录)
# 然后指定dataset放置的group
f.create_group('/dir1')
f.create_group('/dir1/dir2')
data = np.arange(6).reshape(3, 2)
f.create_dataset('/dir1/dir2', data=data)
# 最后别忘了关闭文件
f.close()

读取hdf5文件

import h5py
with h5py.File(info.h5, 'r') as f:
    values1 = f['key1'].value
    values2 = f['key2'].value

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python回调函数的使用方法
Jan 23 Python
Python学习之Django的管理界面代码示例
Feb 10 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
Mar 13 Python
Python3.5.3下配置opencv3.2.0的操作方法
Apr 02 Python
使用python编写udp协议的ping程序方法
Apr 22 Python
python调用百度语音识别api
Aug 30 Python
python实现自动登录后台管理系统
Oct 18 Python
10分钟用python搭建一个超好用的CMDB系统
Jul 17 Python
python实现KNN分类算法
Oct 16 Python
Python requests.post方法中data与json参数区别详解
Apr 30 Python
python简单利用字典破解zip文件口令
Sep 07 Python
python实现语音常用度量方法的代码详解
May 25 Python
Python基础之元组与文件知识总结
Python使用protobuf序列化和反序列化的实现
详解分布式系统中如何用python实现Paxos
May 18 #Python
如何在向量化NumPy数组上进行移动窗口
Python如何配置环境变量详解
Python打包为exe详细教程
Python基础之数据类型知识汇总
May 18 #Python
You might like
星际争霸任务指南——神族
2020/03/04 星际争霸
php 函数中使用static的说明
2012/06/01 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
jQuery学习笔记(2)--用jquery实现各种模态提示框代码及项目构架
2013/04/08 Javascript
获取当前点击按钮的id用this.id实现
2014/03/17 Javascript
angularjs指令中的compile与link函数详解
2014/12/06 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
2014/12/08 Javascript
js实现汉字排序的方法
2015/07/23 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
利用css+原生js制作简单的钟表
2020/04/07 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
react.js 父子组件数据绑定实时通讯的示例代码
2017/09/25 Javascript
微信小程序云开发之云函数详解
2019/05/16 Javascript
JS自定义滚动条效果
2020/03/13 Javascript
python 打印对象的所有属性值的方法
2016/09/11 Python
Python中的__slots__示例详解
2017/07/06 Python
python爬取拉勾网职位数据的方法
2018/01/24 Python
用python简单实现mysql数据同步到ElasticSearch的教程
2018/05/30 Python
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
python实现自动登录后台管理系统
2018/10/18 Python
python 批量解压压缩文件的实例代码
2019/06/27 Python
pytorch-神经网络拟合曲线实例
2020/01/15 Python
Python如何将装饰器定义为类
2020/07/30 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
英国高档百货连锁店:John Lewis
2017/11/20 全球购物
美国折扣宠物药房:Total Pet Supply
2018/05/27 全球购物
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
思想政治自我鉴定
2013/10/06 职场文书
秦兵马俑教学反思
2014/02/07 职场文书
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
入党介绍人考察意见
2015/06/01 职场文书
婚宴主持词
2015/06/30 职场文书
小学生法制教育心得体会
2016/01/14 职场文书
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle