HDF5(.h5、.hdf5,有时也用 .he5)是科学数组、卫星产品、仿真、显微图像和机器学习数据集常用的二进制容器。它不像表格,而是层级结构:group 包含 dataset,每个 dataset 都有自己的形状、数据类型、维度和属性。
文本编辑器无法展示这种结构。下面是四种真正实用的打开方式。
方法一:在浏览器中打开 HDF5
想快速检查文件,可以使用 GribBox HDF5 查看器:
- 打开 /hdf5/viewer。
- 拖入
.h5、.hdf5、.he5、.nc4或基于 HDF5 的.nc文件。 - 展开 group 树并选择一个数值 dataset。
- 如果 dataset 超过二维,为前导维度选择索引。
- 预览切片,或使用 HDF5 转 CSV 与 HDF5 转 JSON 导出。
浏览器只会在你选择文件后加载 WebAssembly 版 libhdf5。解析与导出运行在独立 Worker 中,文件不会上传。它适合未发表研究、机密仪器输出,以及无法安装 Python 的受限电脑。
方法二:HDFView
HDFView 是 The HDF Group 提供的官方桌面 GUI,包含成熟的层级浏览器和 dataset 表格视图。
需要桌面应用或编辑受支持的元数据时可以使用 HDFView。代价是安装和维护原生程序,而且单位电脑可能禁止安装。
方法三:Python 与 h5py
Python 是可重复分析的标准方案:
import h5py
with h5py.File("sample.h5", "r") as file:
file.visit(print)
data = file["/science/model/temperature"][0, :, :]
print(data.shape)h5py 能精确控制 group、属性、分块 dataset、压缩与切片,适合自动化管线。但它需要可用的 Python 环境和原生 HDF5 依赖,对一次性查看来说配置偏重。
方法四:命令行工具
HDF5 工具包中的 h5ls 用于查看结构,h5dump 用于输出元数据或数值:
h5ls -r sample.h5
h5dump -H sample.h5
h5dump -d /science/model/temperature sample.h5这些命令适合服务器和 shell 脚本,但大型数组的输出很快会失控,而且需要先安装 HDF5 工具。
应该选择哪一种?
| 需求 | 最佳选择 |
|---|---|
| 现在就查看,不安装任何东西 | 浏览器 HDF5 查看器 |
| 把一个 dataset 切片导入表格 | HDF5 转 CSV |
| 构建可重复分析管线 | Python 与 h5py |
| 使用桌面 GUI 浏览或编辑 | HDFView |
| 在远程服务器检查文件 | h5ls / h5dump |
常见问题
NetCDF-4 是 HDF5 文件吗?
NetCDF-4 使用 HDF5 作为存储容器,并在其上增加 NetCDF 约定。因此,基于 HDF5 的 .nc 与 .nc4 文件可以由 HDF5 解析器打开。实际差异见 HDF5 与 NetCDF 对比。
浏览器能打开压缩的 HDF5 dataset 吗?
可以。GribBox 使用编译为 WebAssembly 的 libhdf5,嵌套 group、分块 dataset 和常见压缩过滤器由原生工具同源的核心库处理。
打开大型 HDF5 文件会上传吗?
不会。GribBox 在本地读取文件。你会先选择 dataset 与切片再导出,避免把整个多维容器一次性转换成超大的 CSV 或 JSON。

