Python 中的 HDF5 文件


文件类型HDF5(分层数据格式 5)常用于存储和处理大型复杂数据集。它专为通用性、可扩展性和效率而设计,是科学和工业应用的理想选择。Python 是众多可用于创建、读取和修改 HDF5 文件的编程语言之一。在本教程中,我们将探讨在 Python 中使用 HDF5 文件。

安装和设置

我们需要安装“h5py”包。我们可以使用 pip(Python 的包安装程序)来安装它。

pip install h5py

语法

要在 Python 中创建 HDF5 文件,我们首先需要创建一个“h5py.File”类的实例。然后,我们可以使用此实例在文件中创建和操作数据集和组。

import h5py
file = h5py.File("filename.hdf5", "w")

算法

导入h5py模块

  • 使用文件名和文件模式创建 h5py 对象(“w”表示写入,“r”表示读取)

  • 使用“创建数据集”和“创建组”函数在文件中创建数据集和组。

  • 使用标准NumPy数组表示法用数据填充数据集。

  • 使用“关闭”方法释放对象内存,并将数据刷新到文件。

示例

创建包含单个数据集的 HDF5 文件

import h5py

# Create a new HDF5 file
file = h5py.File("example.hdf5", "w")

# Create a dataset
dataset = file.create_dataset("data", shape=(10,), dtype='i')

# Write data to the dataset
for i in range(10):
   dataset[i] = i

# Close the file
file.close()

首先导入已安装的 h5py 包。创建一个名为“example.hdf5”的新 HDF5 文件,并具有写入权限。然后,创建一个名为“data”的数据集,其形状为 (10,) 且数据类型为整数。然后,我们使用循环将数字 0 到 9 放入数据集。最后,我们关闭它,以防止内存泄漏并确保所有数据都已提交到文件。此代码演示了如何使用 Python h5py 模块创建新的 HDF5 文件、数据集以及向其中添加数据。

从现有的 HDF5 文件读取数据

import h5py
import numpy as np

# Open an existing HDF5 file
file = h5py.File("example.hdf5", "r")

# Read the dataset into a NumPy array
dataset = file["data"]
data = np.array(dataset)

# Close the file
file.close()

# Print the data
print(data)

输出

[0 1 2 3 4 5 6 7 8 9]

这将读取在前面的示例中创建的example.hdf5文件,对其进行解码并将其打印到控制台。

结论

HDF5 是一种强大的文件格式,用于存储和分发大型数据集。它提供了一个用于数据组织的分层结构,并支持分块和压缩以实现高效存储。通过h5py模块,它提供了一个简单易懂的 API 用于创建、读取和写入 HDF5 文件,因此 HDF5 可以轻松地集成到 Python 应用程序中。由于其多功能性,HDF5 对于处理 Python 中大型文件的任何人来说都是一项宝贵的资产。

更新于: 2023年5月9日

3K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告