Source code for masci_tools.io.io_hdf5
# -*- coding: utf-8 -*-
###############################################################################
# Copyright (c), Forschungszentrum Jülich GmbH, IAS-1/PGI-1, Germany. #
# All rights reserved. #
# This file is part of the Masci-tools package. #
# (Material science tools) #
# #
# The code is hosted on GitHub at https://github.com/judftteam/masci-tools #
# For further information on the license, see the LICENSE.txt file #
# For further information please visit http://www.flapw.de or #
# #
###############################################################################
"""
IO routines for hdf
"""
[docs]def read_hdf(filepath):
"""
Reads in an hdf file and returns its context in a nested dictionary
!Only works for files with unique group and dataset names
"""
import h5py
datasets = {}
group_attrs = {}
groups = []
file_hdf = h5py.File(filepath, 'r')
groups = file_hdf.keys()
for key, val in file_hdf.iteritems():
for k, v in val.iteritems():
datasets[k] = v.value
attr = val.attrs
for ke, val in attr.iteritems():
group_attrs[ke] = val
file_hdf.close()
return datasets, groups, group_attrs