Была ли очищена существующая группа или набор данных при открытии и записи файла h5 с использованием h5py? - PullRequest
0 голосов
/ 05 октября 2018

Некоторые данные необходимо записать в файл HDF5 различными этапами, а пример кода размещен ниже.Проблема, с которой я сталкиваюсь, заключается в том, что существующая группа h5 и набор данных были очищены при повторном запуске нового шага, включая открытие и запись.

    import h5py
    import numpy as np
    a=r"F:\HY1A1B\cd.h5"

    #first open and write
    b=h5py.File(a, 'w')
    zeroPixelCounts = np.zeros((5,10))
    QC_Attribute = b.create_group("QC Attributes")
    QC_Attribute.create_dataset("Zero Pixel Counts",(5,10),data=zeroPixelCounts)
    b.close()

    #second open and write
    b=h5py.File(a, 'w')
    QC_Attributex = b.create_group("QC Attributes xxxx")
    QC_Attributex.create_dataset("Zero Pixel Counts",(5,10),data=zeroPixelCounts)
    b.close()

    #problem:the existing data in first open and write processing were cleaned 

1 Ответ

0 голосов
/ 05 октября 2018

Я думаю, что режим "w" всегда будет создавать новый файл HDF5, поэтому второй раз вы должны открывать в режиме чтения / записи / создания ("a", для добавления):

#second open and write
b=h5py.File(a, 'a')

Работает дляя:

>>> list(b.keys())
['QC Attributes', 'QC Attributes xxxx']
...