Вы можете использовать библиотеку h5py
.
Вы можете не знать заранее структуру своего файла HDF5. В этом случае вы можете использовать функцию для перебора всех путей в вашем файле HDF5. Вот пример:
def traverse_datasets(hdf_file):
"""Traverse all datasets across all groups in HDF5 file."""
import h5py
def h5py_dataset_iterator(g, prefix=''):
for key in g.keys():
item = g[key]
path = '{}/{}'.format(prefix, key)
if isinstance(item, h5py.Dataset): # test for dataset
yield (path, item)
elif isinstance(item, h5py.Group): # test for group (go down)
yield from h5py_dataset_iterator(item, path)
with h5py.File(hdf_file, 'r') as f:
for (path, dset) in h5py_dataset_iterator(f):
print(path, dset)
return None
Пример использования:
traverse_datasets('file.h5')
/DataSet1 <HDF5 dataset "DataSet1": shape (655559, 260), type "<f4">
/DataSet2 <HDF5 dataset "DataSet2": shape (22076, 10000), type "<f4">
/index <HDF5 dataset "index": shape (677635,), type "|V384">
Затем, чтобы прочитать конкретный набор данных, вы можете выбрать путь:
with h5pyFile('file.h5', 'r') as f:
arr = f['/DataSet1'][:] # read entire dataset into memory
Если ваши данные не могут храниться в памяти, вы можете либо печатать итеративно, либо извлечь фрагмент в память. документация h5py имеет множество примеров. Синтаксис соответствует соглашениям NumPy.
@ClaudiuCreanga, Pycharm предназначен для запуска кода Python, а не специально для файлов HDF5. «GUI» для HDF5 - это то, что вы получаете из команды print
в Python. Если вы ищете решение для HDF5, вам потребуется продукт HDF5 (например, HDFVIEW).
Значит, в pycharm нет встроенного графического интерфейса для его просмотра?