我想在h5py中创建可调整大小的数据集,它应该是一个简单的一维数组,初始值写在上面,然后用他们的空闲附加值更新当我试试这个:尝试在h5py中扩展现有数据集时出错:ValueError:无法设置扩展数据集(Dimension不能超过现有的最大大小
ds = g2.create_dataset(wf, maxshape=(None), chunks=True, data=values)
size = ds.shape[0] + len(values)
ds.resize(size, axis=0)
我得到这个错误:
ValueError: Unable to set extend dataset (Dimension cannot exceed the existing maximal size (new: 120 max: 60))
然而,似乎提供数据或设置该形状将覆盖maxshape和数据集没有调整大小,并且提示当前最大形状不是最初提供的数据,或者是在shape属性中设置的数据。
根据h5py documentation这正是应该如何完成的,并且将maxshape设置为None应该提供无限扩展,而将块设置为True应该启用自动块大小确定。
我自己也尝试这样的事情,并分别添加数据:
ds = g2.create_dataset(wf,(100,), maxshape=(None), chunks=True, dtype='i')
它抛出了同样的错误,而现在我不知道如果我错误地设置了尺寸,或者如果它有什么与数据类型或形状。
我认为你必须做一个调整大小来添加新的材料。是不是有关于在文档中的东西https://stackoverflow.com/questions/40062770/adding-data-to-existing-h5py-file-along-new-axis-using-h5py – hpaulj
我调整大小,但是问题所在,它不希望接受新的大小,因为似乎maxshape已被设置为初始数据的大小,而不是maxshape变量中设置的大小。感谢您提供的信息,我之前没有找到该帖子。 – TeilaRei