我有一个hdf5格式文件数据文件包含分子动力学模拟数据。对于快速检查,h5ls工具非常方便。例如:
h5ls -d xaa.h5/particles/lipids/positions/time | less
现在我的问题是基于我收到的关于数据格式的评论!根据hdf5规范和组中的元数据,缺少哪些属性?
您是否试图从数据集获取时间属性的值?如果是这样,您需要使用h5dump
,而不是h5ls
。并且,属性附加到每个数据集,因此您必须在路径中包含数据集名称。最后,属性名是区分大小写的;Time != time
。以下是dataset_0000
所需的命令(从0001到0074重复):
h5dump -d /particles/lipids/positions/dataset_0000/Time xaa.h5
你也可以用Python代码获取属性。下面是一个简单的例子:
import h5py
with h5py.File('xaa.h5','r') as h5f:
for ds, h5obj in h5f['/particles/lipids/positions'].items():
print(f'For dataset={ds}; Time={h5obj.attrs["Time"]}')