Если вы не связаны с какой-либо конкретной технологией, проверьте HDFql , поскольку это избавит вас от подробностей низкого уровня при работе с файлами HDF5.
Чтобы решить свой вопрос, вынеобходимо создать набор данных с двумя измерениями: первое является расширяемым, а второе имеет размер четыре (исходя из вашего фрагмента кода, я предполагаю, что вы хотите хранить четыре целых числа в строке; также, если тип данных не является целым числом, пожалуйста,проверьте HDFql справочное руководство для перечисления всех типов данных и соответствующим образом измените приведенный ниже фрагмент кода.)
В Python для создания такого набора данных выполните (в данном примере dset
):
HDFql.execute("CREATE DATASET dset AS INT(UNLIMITED, 4)")
Затем для каждой строки, которую вы хотите написать, выполните (пожалуйста, замените val0
, val1
, val2
и val3
на правильные значения):
HDFql.execute("INSERT INTO dset(-1:::) VALUES(%d, %d, %d, %d)" % (val0, val1, val2, val3))
... наконец, расширьте первое измерение набора данных dset
на одно из следующих значений:
HDFql.execute("ALTER DIMENSION dset TO (+1)")
Повторите строки фрагмента кода # 2 и # 3 столько раз, сколько строк вы хотите записать.