import pandas as pd

# Function to extract HDF5 content into a Pandas-friendly format
def extract_hdf5_to_dataframe(hdf5_path):
    with h5py.File(hdf5_path, "r") as hdf5_file:
        data_dict = {}

        def recursively_load_hdf5(group, path=""):
            for key, item in group.items():
                new_path = f"{path}/{key}" if path else key
                if isinstance(item, h5py.Dataset):
                    data_dict[new_path] = item[()]
                elif isinstance(item, h5py.Group):
                    recursively_load_hdf5(item, new_path)

        recursively_load_hdf5(hdf5_file)

    df = pd.DataFrame(list(data_dict.items()), columns=["Path", "Value"])
    return df

# Extract and display HDF5 content
hdf5_preview_df = extract_hdf5_to_dataframe(hdf5_file_path)
import ace_tools as tools
tools.display_dataframe_to_user(name="HDF5 Preview", dataframe=hdf5_preview_df)