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中List.index()方法的使用教程
May 20 Python
python实现根据主机名字获得所有ip地址的方法
Jun 28 Python
Python实现多线程抓取妹子图
Aug 08 Python
Python3中使用PyMongo的方法详解
Jul 28 Python
Python获取指定文件夹下的文件名的方法
Feb 06 Python
对Python3之进程池与回调函数的实例详解
Jan 22 Python
Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围
Jun 25 Python
使用django实现一个代码发布系统
Jul 18 Python
python正则过滤字母、中文、数字及特殊字符方法详解
Feb 11 Python
Django执行源生mysql语句实现过程解析
Nov 12 Python
python 实现表情识别
Nov 21 Python
python基础之错误和异常处理
Oct 24 Python
Python基础之元组与文件知识总结
Python使用protobuf序列化和反序列化的实现
详解分布式系统中如何用python实现Paxos
May 18 #Python
如何在向量化NumPy数组上进行移动窗口
Python如何配置环境变量详解
Python打包为exe详细教程
Python基础之数据类型知识汇总
May 18 #Python
You might like
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
laravel通过a标签从视图向控制器实现传值
2019/10/15 PHP
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
2007/02/15 Javascript
11款基于Javascript的文件管理器
2009/10/25 Javascript
Extjs 几个方法的讨论
2010/01/28 Javascript
JQUERY操作JSON实例代码
2010/02/09 Javascript
script标签属性type与language使用选择
2012/12/02 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
用jquery写的一个万年历(自写)
2014/01/20 Javascript
jquery scroll()区分横向纵向滚动条的方法
2014/04/04 Javascript
JS实现数字格式千分位相互转换方法
2016/08/01 Javascript
js实现String.Fomat的实例代码
2016/09/02 Javascript
详解node.js平台下Express的session与cookie模块包的配置
2017/04/26 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
python函数缺省值与引用学习笔记分享
2013/02/10 Python
python中文编码问题小结
2014/09/28 Python
Python中的进程分支fork和exec详解
2015/04/11 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
Python实现读写INI配置文件的方法示例
2018/06/09 Python
浅谈Django中view对数据库的调用方法
2019/07/18 Python
分享一个pycharm专业版安装的永久使用方法
2019/09/24 Python
香港时尚女装购物网站:ZAFUL
2017/07/19 全球购物
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
迪斯尼假期(欧洲、中东及非洲):Disney Holidays EMEA
2021/02/15 全球购物
高三英语教学反思
2014/01/13 职场文书
幼儿园五一活动方案
2014/02/07 职场文书
新年爱情寄语
2014/04/08 职场文书
期末学生评语大全
2014/04/24 职场文书
群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
商超业务员岗位职责
2015/02/13 职场文书
让生命充满爱观后感
2015/06/08 职场文书
为自己工作观后感
2015/06/11 职场文书
圣诞晚会主持词
2015/07/01 职场文书
MySQL sql模式设置引起的问题
2022/05/15 MySQL