输入h5py中的数字数组列表

Ank*_*hra 2 python arraylist hdf5 h5py

我试图使用h5py将数字数组列表输入到HDF5文件中。考虑例如:

f = h5py.File('tester.hdf5','w')
b = [[1,2][1,2,3]]
Run Code Online (Sandbox Code Playgroud)

这将引发错误。

TypeError: Object dtype dtype('O') has no native HDF5 equivalent
Run Code Online (Sandbox Code Playgroud)

因此,我假设HDF5不支持此功能。

就像您可以通过使用特殊的数据类型来存储字符串列表一样,也可以使用数字数组列表的方法。

H5py存储字符串列表列表

如果没有,还有什么其他合适的方式来存储这样的列表,以后可以从内存中访问该列表。

我在这里先向您的帮助表示感谢

Fra*_*anz 5

您可以在单独的数据集中拆分列表列表,然后分别存储它们:

import h5py
my_list = [[1,2],[1,2,3]]
f = h5py.File('tester.hdf5','w')
grp=f.create_group('list_of_lists')
for i,list in enumerate(my_list):
    grp.create_dataset(str(i),data=list)
Run Code Online (Sandbox Code Playgroud)

这样做之后,您可以像以前一样对数据集进行切分,只需稍作改动即可:

In[1]: grp[str(0)][:].tolist()
Out[1]: [1, 2]
In[2]: grp[str(1)][:].tolist()
Out[2]: [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)