Я не могу помочь вам с пандами, но могу показать вам, как это сделать с pytables.По сути, вы создаете таблицу, ссылающуюся либо на numpy recarray, либо на dtype, который определяет смешанные типы данных.
Ниже приведен супер простой пример, демонстрирующий создание таблицы с 1 строкой и 4 числами с плавающей запятой.Затем он добавляет строки данных в таблицу.Он показывает 2 различных метода добавления данных:
1. Список кортежей (по 1 кортежу для каждой строки) - см. append_list
2. Нулевой повторный массив (с dtype, соответствующим определению таблицы) - см. simple_recarr
в цикле for
Чтобы получить остальные аргументы для create_table()
, прочитайте документацию по Pytables.Это очень полезно и должно отвечать на дополнительные вопросы.Ссылка ниже:
Pytables Руководство пользователя
import tables as tb
import numpy as np
with tb.open_file('SO_55943319.h5', 'w') as h5f:
my_dtype = np.dtype([('A','S16'),('b',float),('c',float),('d',float),('e',float)])
dset = h5f.create_table(h5f.root, 'table_data', description=my_dtype)
# Append one row using a list:
append_list = [('test string', -2.355, 1.957, 1.266, -6.913)]
dset.append(append_list)
simple_recarr = np.recarray((1,),dtype=my_dtype)
for i in range(5):
simple_recarr['A']='string_' + str(i)
simple_recarr['b']=2.0*i
simple_recarr['c']=3.0*i
simple_recarr['d']=4.0*i
simple_recarr['e']=5.0*i
dset.append(simple_recarr)
print ('done')