Если вам просто нужно прикрепить файл XML к файлу hdf5, вы можете добавить его в качестве атрибута к файлу hdf5.
xmlfh = open('morphology.xml', 'rb')
h5f.attrs['xml'] = xmlfh.read()
Вы можете получить доступ к XML-файлу, например так:
h5f.attrs['xml']
Также обратите внимание, что вы не можете хранить атрибуты размером более 64 КБ, возможно, вы захотите сжать файл перед прикреплением. Вы можете взглянуть на сжатие библиотек в стандартной библиотеке Python.
Однако это не делает информацию в XML-файле очень доступной. Если вы хотите связать метаданные каждого набора данных с некоторыми метаданными в файле XML, вы можете сопоставить их, как вам нужно, используя библиотеку XML, такую как lxml . Вы также можете добавить каждое поле данных XML в качестве отдельного атрибута, чтобы можно было запрашивать наборы данных по полю XML, все это зависит от того, что у вас есть в файле XML. Попробуйте подумать, как бы вы хотели получить данные позже.
Вы также можете создать группы для каждого XML-файла с его наборами данных и поместить все это в один файл hdf5. Я не знаю, насколько велики файлы, которыми вы управляете, YMMV.