Есть ли способ быстро извлечь указанные таблицы в другой файл HDF5? - PullRequest
0 голосов
/ 21 марта 2020

Проблема, которую я пытаюсь решить, заключается в следующем - у меня длительный процесс Python (может занять много часов до sh), который производит до 80000 файлов HDF5. Поскольку одним из узких мест является постоянное открытие и закрытие этих файлов, я решил написать проверочный код, который использует один файл HDF5 в качестве вывода, который содержит много таблиц. Это, конечно, помогает, но мне интересно, есть ли быстрый (er) способ экспортировать указанные таблицы (с переименованием, если возможно) в отдельный файл?

1 Ответ

1 голос
/ 21 марта 2020

Да, существует как минимум 3 способа скопировать содержимое набора данных из одного файла HDF5 в другой. Они включают в себя:

  1. h5copy утилита командной строки от Группа HDF . Вы указываете исходный и целевой файлы HDF5, а также исходный и целевой объекты. Скорее всего, это делает именно то, что вы хотите без большого количества кодирования.
    Ссылка: HDF Группа: H5Copy документы
  2. h5py модуль имеет метод copy() для группы и / или наборы данных. Вы вводите исходный и целевой объекты.
  3. pytables модуль (он же таблицы) имеет метод copy_node(). Узел - это группа и / или набор данных. Вы вводите исходные и конечные объекты.

Если вы решите использовать h5py, на SO есть пара соответствующих сообщений:

...