如何将数据写入 h5py 数据集

how to write data to a h5py dataset

我快要疯了 - 出于某种原因,我无法找到如何在 h5py 中更改数据集。 我先创建一个文件:

i = h.File('C:\Users\Bob\Desktop\blob.h5','w')

然后我在文件中创建一个数据集:

i.create_dataset("data",(100,100,100))

最后,我尝试写入数据集:

i['data'][0][0][0] = 5

然而,当我打印时,我没有得到 5 回来!

print(i['data'][0][0][0])#returns 0

我尝试关闭并重新打开该文件,但这没有帮助。 任何建议将不胜感激!

到目前为止,我还没有找到改变数据集内容的方法,但这里是成功创建新数据集的方法。 首先,将数据存储在一个列表中(这可以是一个多维 numpy 数组):

l = [1,2,3]

然后,创建数据集:

i.create_dataset("array", data=l) 
arr = i["array"]

print(arr[1]) 现在将正确显示值 2

将 h5py.File 的文件模式参数从 w 更改为 r+(对于 read/write)或 a(对于 read/write/create)。参见 https://docs.h5py.org/en/stable/high/file.html