Я думаю, у вас небольшая синтаксическая ошибка.Попробуйте это (без np.array):
x = hf['/dataset']
Я не думаю, что вам нужен ведущий '/' для определения корневого уровня, но это хорошая практика, чтобы включить (IMHO).
Если это не сработает, пришло время дважды проверить содержимое HDF5.Как спросил hpaulj, вы уверены, что dataset
находится на корневом уровне?Может быть, есть промежуточная группа?Если это так, вам нужно определить полный путь к объекту:
dset_table = hf['/topgroup/dataset']
Я предлагаю вам использовать HDFView для проверки вашего файла или запустить утилиту h5dump ,Оба доступны на сайте загрузки HDF Group.Это устраняет вопросы кодирования.Вы также можете проверить имена групп следующим образом:
list(hf.keys())
Вы должны получить что-то вроде этого (если набор данных действительно находится на корневом уровне):
['dataset']
Наконец, вы можете использовать.get()
для получения класса объекта.
get(name, default=None, getclass=False, getlink=False)
Установите getclass=True
для получения класса Object: Group
или Dataset
.