es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo vincular archivos HDF5 generados con Pandas?

Supongamos que tenemos una carpeta con archivos HDF5 generados por pandas.to_hdf. Me gustaría crear un archivo master.h5 que contenga enlaces externos a todos los DataFrames.

Según la documentación de h5py, la forma estándar de hacer esto es:

myfile = h5py.File('master.h5','w')
myfile['ext link'] = h5py.ExternalLink("some_sub_file.h5", "/path/to/resource")

Pero los archivos generados por pandas.to_hdf no solo contienen datasets, sino también h5py.Groups. ¿Cómo configurarías entonces el enlace externo para que funcione correctamente?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para configurar enlaces externos a los grupos dentro de los archivos HDF5 generados por pandas.to_hdf, debes proporcionar la ruta al grupo específico dentro del archivo HDF5 al que deseas enlazar. Aquí tienes un ejemplo:

    import h5py
    
    # abrir el archivo HDF5 principal en modo escritura
    myfile = h5py.File('master.h5', 'w')
    
    # crear enlaces externos a los grupos dentro de los archivos HDF5
    myfile['group1'] = h5py.ExternalLink('file1.h5', '/group1')
    myfile['group2'] = h5py.ExternalLink('file2.h5', '/group2')
    
    # cerrar el archivo HDF5 principal
    myfile.close()
    

    En este ejemplo, group1 en master.h5 estará enlazado a /group1 en file1.h5, y group2 en master.h5 estará enlazado a /group2 en file2.h5.

    Ten en cuenta que debes proporcionar la ruta completa al grupo dentro del archivo HDF5, incluidos todos los grupos parentales. En el ejemplo anterior, se asume que /group1 y /group2 se encuentran en la raíz de los archivos HDF5. Si los grupos están anidados dentro de otros grupos, la ruta deberá reflejar eso, por ejemplo, /grupo_padre/grupo1.

Comments are closed.