Как правильно записать массив строк в набор данных в файле HDF5 с помощью HDF5DotNet? - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь записать массив строк в набор данных с помощью HDF5DotNet, и когда я проверяю файл, набор данных содержит только «@ ëûp» там, где должны быть строки.

Я успешно создал файл hdf5 и создал набор данных с плавающей точкой, которые представляют биомедицинские сигналы. В этом наборе данных, который я сейчас пытаюсь создать, мне нужно иметь некоторую информацию о сигналах, которую я сейчас имею в виде массива строк. Я проверил массив в консоли - строки в dset_info такие, как я хочу. Я создал пространство данных, тип данных (в документации указывается поставить отрицательное число, если я хочу тип строки переменной длины), набор данных и я попытались записать массив в набор данных. Вот мой код:

//creation of dset_info is before that
H5DataSpaceId spaceIdinfo = H5S.create_simple(RANK, dimsinfo);

H5DataTypeId typeIdinfo = H5T.create(H5T.CreateClass.STRING, -1);

H5DataSetId dataSetIdinfo = H5D.create(fileId, "/Info", typeIdinfo, spaceIdinfo);

H5D.write(dataSetIdinfo, typeIdinfo , new H5Array<string>(dset_info));

Это только та часть, где я записываю массив в набор данных. Как я уже сказал, я проверил dset_info и все в порядке. После открытия файла в HDFView я открываю набор данных, это массив 2x3 с таким текстом: «@ ëûp» вместо нужных мне строк. Что я тут не так делаю?

...