2016-06-17 2 views
3

Есть ли возможность в h5py создать набор данных, который состоит из списков строк. Я попытался создать вложенный тип данных переменной длины, но это приводит к ошибке сегментации в моем интерпретаторе python.H5py список магазинов списка строк

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) 

ответ

2

Вы должны быть в состоянии получить функциональность вы хотите, если вы определяете данные как Numpy массив DTYPE = объекта, как предложено в этом post, а не список списков.

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) 
0

Если вы не собираетесь редактировать файл hdf5 (и, возможно, использовать более длинные строки), вы также можете просто использовать:

h5py_file.create_dataset("sentences", data=np.array(data, dtype='S')) 
Смежные вопросы