一、介绍
-
Hierarchical Data Format Version 5, HDF5: 层次性数据格式第五版
- 是一种
存储相同类型数值
的大数组的机制,适用于可被层次性组织
且数据集需要被元数据标记
的数据模型 - 常用的接口模块为 h5py
- 是一种
-
HDF5 三大要素:
- hdf5 files: 能够存储两类数据对象 dataset 和 group 的容器,其操作类似 python 标准的文件操作;File 实例对象本身就是一个组,以
/
为名,是遍历文件的入口 - dataset(array-like): 可类比为 Numpy 数组,每个数据集都有一个名字(name)、形状(shape) 和类型(dtype),支持切片操作
- group(folder-like): 可以类比为 字典,它是一种像文件夹一样的容器;group 中可以存放 dataset 或者其他的 group,键就是组成员的名称,值就是组成员对象本身(组或者数据集)
- hdf5 files: 能够存储两类数据对象 dataset 和 group 的容器,其操作类似 python 标准的文件操作;File 实例对象本身就是一个组,以
二、打开工具
直接用记事本打开hdf5文件的话,是一团乱码。HDFView是用来查看hdf5文件的软件,可以免费使用,好多人都有闪退的情况,这是因为没有添加环境变量。
HDF5 数据可视化工具 HDFView:
- 支持全平台,可查看数据的细节
- 注意: 打开路径中不要包含中文
- 下载链接:HDFView官方网站下载
- 选择自己需要的版本,点击Download
- 选择自己需要的版本,Win10系统64位选择下面这个版本,点击Download
- 下载好压缩包后,解压,打开文件夹,点击exe文件开始安装
- 然后一路next,选择安装路径,等待安装结束。
- 添加环境变量:不添加环境变量就会闪退,所以这一步是必要的。
- 找到bin的本地路径并添加进path变量
- 然后一路确定即可
三、查看HDF文件
1.点击exe可执行文件打开软件。
2.点击file->open打开HDF文件
3.然后就可以查看数据了。
四、Python中打开
# -*- coding: utf-8 -*-
import h5py
import numpy as np
#HDF5的写入:
imgData = np.zeros((2,4))
f = h5py.File('HDF5_FILE.h5','w') #创建一个h5文件,文件指针是f
f['data'] = imgData #将数据写入文件的主键data下面
f['labels'] = np.array([1,2,3,4,5]) #将数据写入文件的主键labels下面
f.close() #关闭文件
#HDF5的读取:
f = h5py.File('I://AMSR//AMSR_U2_L3_SeaIce12km_B04_20171230.he5','r') #打开h5文件
# 可以查看所有的主键
motion = f['motion']
x = motion
print(x)
print()
for key in f.keys():
print(f[key])