【发布时间】:2017-01-07 01:04:39
【问题描述】:
我正在比较两个不同的 hdf5 文件以确保它们匹配。我想在 hdf5 文件中创建一个包含组中所有数据集的列表,以便我可以循环遍历所有数据集,而不是手动输入它们。我似乎无法找到这样做。目前我正在使用此代码获取数据集:
tdata21 = ft['/PACKET_0/0xeda9_data_0004']
集合的名称位于“PACKET_0”组中。整理完所有数据集后,我会在此循环中比较数据集中的数据:
for i in range(len(data1)):
print "%d\t%g\t%g" % (i, data1[i],tdata1[i])
if(data1[i]!=tdata1[i]):
x="data file: data1 \nline:"+ str(i) + "\norgianl data:" + str(data1[i]) + "\nrecieved data:" + str(tdata1[i]) + "\n\n"
correct.append(x)
如果有一种更智能的方法来比较 hdf5 文件,我希望看到它,但主要是我只是在寻找一种方法来将组中所有数据集的名称放入列表中。谢谢
【问题讨论】:
-
我知道这篇文章中存在类似的问题,但我不太明白,所以如果它适用于我的情况,有人可以解释如何使用它。 link
-
你在使用 h5py 吗?添加该标签。 numpy 也是如此。
-
docs.h5py.org/en/latest/high/… - 像访问字典一样访问组的元素,包括
keys()、items()等的使用。