python-H5py存储字符串列表的列表

在h5py中是否有可能创建一个由字符串列表组成的数据集.我试图创建一个可变长度的嵌套数据类型,但这导致我的python解释器出现分段错误.

def create_dataset(h5py_file):
    data = [['I', 'am', 'a', 'sentecne'], ['another', 'sentence']]
    string_dt = h5py.special_dtype(vlen=str)
    nested_dt = h5py.special_dtype(vlen=string_dt)
    h5py_file.create_dataset("sentences", data=data, dtype = nested_dt)

最佳答案

如果按照post的建议将数据定义为dtype = object的numpy数组,而不是列表列表,则应该能够获得所需的功能.

def create_dataset(h5py_file):
    data = np.array([['I', 'am', 'a', 'sentence'], ['another', 'sentence']], dtype=object)
    string_dt = h5py.special_dtype(vlen=str)
    h5py_file.create_dataset("sentences", data=data, dtype=string_dt)