【发布时间】:2019-04-26 14:22:24
【问题描述】:
我选择了特定的 hdf5 数据集并希望将它们复制到新的 hdf5 文件中。我可以找到一些关于在两个文件之间复制的教程,但是如果您刚刚创建了一个新文件并且想要将数据集复制到该文件中怎么办?我认为下面的方法会起作用,但事实并非如此。有什么简单的方法可以做到这一点?
>>> dic_oldDataset['old_dataset']
<HDF5 dataset "old_dataset": shape (333217,), type "|V14">
>>> new_file = h5py.File('new_file.h5', 'a')
>>> new_file.create_group('new_group')
>>> new_file['new_group']['new_dataset'] = dic_oldDataset['old_dataset']
RuntimeError: Unable to create link (interfile hard links are not allowed)
【问题讨论】:
-
new_file['new_group'].create_dataset('name', data=dic_oldDataset['old_dataset'][:]。换句话说,在组中创建一个新的dataset,并用旧数据集或从旧数据集加载的数组填充它。[:]将数据集加载到数组中;我必须测试一下是否真的需要它。