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 通常是作为配合使用

『一个 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

hdf5 python_HDF5 文件及Python模块之h5py相关推荐

  1. python如何引用txt_如何使用pip requirements.txt文件安装python模块附加组件

    pip requirements.txt documentation表示可以使用类似的线安装附加功能 MyPackage==3.0 [PDF] 所以在我的requirements.txt文件中,我有一 ...

  2. python调用pyd文件_如何将.pyd文件作为python模块导入?

    我在用PyCharm.我在以下位置有一个python脚本: C:\Users\XYZ\PycharmProjects\Project1\playground.py playground.py只有一行代 ...

  3. Openpyxl:读取/写入Excel文件的Python模块

    Python openpyxl module is a native library to work with excel files. We can read excel files as well ...

  4. 用 .pth 文件附加 Python 模块搜索路径

    上一篇 Python 的模块搜索路径,介绍了 Python 的模块搜索路径,最终起作用的是 sys.path 路径列表.如果要自定义自己的搜索路径,就是要怎么定制 sys.path 的内容.可以简单的 ...

  5. Linux文件操作--Python模块

    蓝桥云课笔记 一.认识Linux 1.快捷操作 2.查看目录结构:tree 3.绝对路径 4.新建目录 二.Linux文件操作 1.**新建空白文件** 2.**复制** 3.**删除** 4.**移 ...

  6. 处理音频文件的python模块

    首先是wave def read_wav_data(filename):'''读取一个wav文件,返回声音信号的时域谱矩阵和播放时间'''filename="/home/chenyang/& ...

  7. python怎样导出py文件_导出python模块(到字符串或py文件)

    摘要: 我想要一个'module'类型的变量并导出它.在 我使用import从.py文件导入python模块并对其进行更改.我需要将模块导出回一个文件,或者获取完整模块的字符串表示形式,然后将其写入磁 ...

  8. Python模块(自己整理并不完整)

    PY核心模块方法 ******************** os模块: os.remove() 删除文件  os.unlink() 删除文件  os.rename() 重命名文件  os.listdi ...

  9. python模块初始与time、datetime及random

    模块初始 模块的概念(本质为一个py文件) python模块可以将代码量较大的程序分割成多个有组织的.彼此独立但又能互相交互的代码片段,这些自我包含的有组织 的代码段就是模块,模块在物理形式上表现为以 ...

最新文章

  1. Git基本命令和GitFlow工作流
  2. 安全篇:弱密码python检测工具
  3. windows设置网卡参数
  4. vba cad 获取宏的路径_VBA批量创建文件目录及链接,建议收藏备用
  5. 做折线图坐标轴数字_Excel折线图表的另类表达制作?牛闪君使用了双线表达法来完成...
  6. 05-图像的平滑处理(不同的滤波操作)
  7. CSerialPort类定义的消息
  8. C++算法七:插入排序
  9. .NET方法演化史 从Delegate到Lambda再到LINQ
  10. WinForm 修改App.config不起作用(但是调试没有异常)
  11. Python练习:快乐的数字
  12. JUnit4套件测试
  13. php图片存储内容读取,php读取和保存base64编码的图片内容
  14. 总结 | 四篇图网络综述文章提出的Future Directions
  15. 网页模板----01
  16. mybatis文档地址
  17. 微服务网关SpringCloud Gateway
  18. 区块链获得获得华尔街的胜利:“现在我们知道它有用了”
  19. word上怎么把图片拼接到一起_word怎么将图片合并
  20. 省钱又省时间的买书方法

热门文章

  1. STM32片上外设时钟使能、失能和复位的区别
  2. Spring5笔记【狂神说】
  3. 数据脱敏:保障数据安全的脱敏方案
  4. 达梦出席湖北银行业金融机构信息科技风险管理研讨会
  5. 【谷粒商城】ElasticSearch、上架与检索
  6. Linux云计算运维之Shell
  7. 岑村小学辅导班老师体会有感
  8. Hello Goodbye
  9. [渝粤教育] 南京大学 建筑设备 参考 资料
  10. Android性能优化之启动优化实战篇,系列篇