Búsqueda de sitios web

Archivos HDF5 en Python


El tipo de archivo HDF5 (Formato de datos jerárquico 5) se utiliza con frecuencia para almacenar y manejar conjuntos de datos enormes e complejos. Es la opción perfecta para usos científicos e industriales porque está diseñado para ser versátil, escalable y eficaz. Python es uno de los muchos lenguajes de programación que se pueden utilizar para generar, leer y modificar archivos HDF5. En este tutorial veremos cómo trabajar con archivos HDF5 en Python.

Instalación y configuración

Necesitamos instalar el paquete "h5py". Podemos instalarlo usando pip, el instalador de paquetes para Python.

pip install h5py

Sintaxis

Para crear un archivo HDF5 en Python, primero necesitamos crear una instancia de la clase "h5py.File". Luego podemos usar esta instancia para crear y manipular conjuntos de datos y grupos dentro del archivo.

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

Algoritmo

Importar el módulo h5py

  • Se debe crear un objeto h5py con el título y el modo en el tipo de archivo ("w" para escritura, "r" para lectura)

  • Usando las funciones "crear conjunto de datos" y "crear grupo", cree conjuntos de datos y grupos dentro del archivo.

  • Complete los conjuntos de datos con datos utilizando la típica notación de matriz NumPy.

  • Libere la memoria del objeto con la técnica "cerrar" para vaciar los datos en el archivo.

Ejemplo

Crear un archivo HDF5 con un único conjunto de datos

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()

Primero importe el paquete h5py instalado. Cree un nuevo archivo HDF5 con permiso de escritura llamado "ejemplo.hdf5". Luego, se crea una colección llamada "datos" con el formulario (10,) y el tipo de datos entero. Luego, colocamos números del 0 al 9 en el conjunto de datos mediante un bucle. Para evitar pérdidas de memoria y garantizar que todos los datos se hayan guardado en el archivo, lo eliminamos al final. Este código ilustra cómo utilizar el módulo h5py de Python para crear un nuevo archivo HDF5, un conjunto de datos y agregarle datos.

Leer datos de un archivo HDF5 existente

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)

Producción

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

Esto leerá el archivo example.hdf5 creado en el ejemplo anterior, lo descifrará y lo imprimirá en la consola.

Conclusión

Un formato de archivo robusto para guardar y distribuir grandes conjuntos de datos se conoce como HDF5. Ofrece un marco jerárquico para la organización de datos y permite la fragmentación y compresión para un almacenamiento eficaz. Con la ayuda del módulo h5py, que ofrece una API sencilla y comprensible para generar, leer y escribir archivos HDF5, HDF5 se puede incorporar fácilmente a las aplicaciones Python. Para cualquiera que trabaje con archivos de gran tamaño en Python, HDF5 es una herramienta útil debido a la variedad de usos que tiene.