Saltar al contenido

Cómo leer archivos HDF5 en Python

Posteriormente a indagar en diferentes repositorios y sitios webs de internet al final hallamos la resolución que te compartiremos más adelante.

Solución:

Leer HDF5

import h5py
filename = "file.hdf5"

with h5py.File(filename, "r") as f:
    # List all groups
    print("Keys: %s" % f.keys())
    a_group_key = list(f.keys())[0]

    # Get the data
    data = list(f[a_group_key])

Escribir HDF5

import h5py

# Create random data
import numpy as np
data_matrix = np.random.uniform(-1, 1, size=(10, 3))

# Write data to HDF5
with h5py.File("file.hdf5", "w") as data_file:
    data_file.create_dataset("group_name", data=data_matrix)

Consulte los documentos de h5py para obtener más información.

Alternativas

  • JSON: Agradable para escribir datos legibles por humanos; MUY comúnmente utilizado (lectura y escritura)
  • CSV: formato súper simple (lectura y escritura)
  • pickle: un formato de serialización de Python (lectura y escritura)
  • MessagePack (paquete de Python): representación más compacta (lectura y escritura)
  • HDF5 (paquete de Python): Agradable para matrices (lectura y escritura)
  • XML: también existe *suspiro* (lectura y escritura)

Para su aplicación, lo siguiente podría ser importante:

  • Soporte de otros lenguajes de programación
  • Rendimiento de lectura/escritura
  • Compacidad (tamaño de archivo)

Ver también: Comparación de formatos de serialización de datos

En caso de que esté buscando una forma de crear archivos de configuración, es posible que desee leer mi breve artículo Archivos de configuración en Python

leyendo el archivo

import h5py

f = h5py.File(file_name, mode)

Estudiar la estructura del archivo imprimiendo qué grupos HDF5 están presentes

for key in f.keys():
    print(key) #Names of the groups in HDF5 file.

Extrayendo los datos

#Get the HDF5 group
group = f[key]

#Checkout what keys are inside that group.
for key in group.keys():
    print(key)

data = group[some_key_inside_the_group].value
#Do whatever you want with data

#After you are done
f.close()

Puedes usar pandas.

import pandas as pd
pd.read_hdf(filename,key)

Reseñas y valoraciones de la guía

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *