How to read HDF5 files in Python

How to read HDF5 files in Python

Read 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])

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

See h5py docs for more information.


For your application, the following might be important:

  • Support by other programming languages
  • Reading / writing performance
  • Compactness (file size)

See also: Comparison of data serialization formats

In case you are rather looking for a way to make configuration files, you might want to read my short article Configuration files in Python

Reading the file

import h5py

f = h5py.File(file_name, mode)

Studying the structure of the file by printing what HDF5 groups are present

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

Extracting the data

#Get the HDF5 group
group = f[key]

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

data = group[some_key_inside_the_group][()]
#Do whatever you want with data

#After you are done

How to read HDF5 files in Python

you can use Pandas.

import pandas as pd

Leave a Reply

Your email address will not be published. Required fields are marked *