Я хотел бы удалить элемент из набора данных HDF5 в Python. Ниже у меня есть пример кода
DeleteHDF5Dataset.py
# This code works, which deletes an HDF5 dataset from an HDF5 file
file_name = os.path.join('myfilepath', 'myfilename.hdf5')
f = h5py.File(file_name, 'r+')
f.__delitem__('Log list')
Однако я не хочу этого делать. 'mydatatset' - это набор данных HDF5, который имеет несколько элементов, и я хотел бы удалить один или несколько элементов по отдельности, например
DeleteHDF5DatasetElement.py
# This code does not work, but I would like to achieve what it's trying to do
file_name = os.path.join('myfilepath', 'myfilename.hdf5')
f = h5py.File(file_name, 'r+')
print(f['Log list'][3]) # prints the correct dataset element
f.__delitem__('Log list')[3] # I want to delete element 3 of this HDF5 dataset
Лучшее решение, которое я могу придумать, - это создать временный набор данных, пройтись по исходному набору данных и добавить только те записи, которые я хочу сохранить, во временный набор данных, а затем заменить старый набор данных новым. Но это кажется довольно неуклюжим. У кого-нибудь есть чистое решение для этого? Кажется, должен быть простой способ просто удалить элемент.
Спасибо, и извините, если какая-либо из моих терминов неверна.