pytables изначально не поддерживает словари python.Я подошел к этому так: создать структуру данных в форме:
tables_dict = {
'key' : tables.StringCol(itemsize=40),
'value' : tables.Int32Col(),
}
(обратите внимание, что я гарантирую, что ключи имеют длину <40 символов), а затем создайте таблицу, используя эту структуру: </p>
file_handle.createTable('/', 'dictionary', tables_dict)
, а затем заполните его:
file_handle.dictionary.append(dictionary.items())
и получите данные с помощью:
dict(file_handle.dictionary.read())
Это работает нормально, но чтение словаря обратно очень медленно,Я думаю, проблема в том, что функция read()
вызывает загрузку всего словаря в память, что в действительности не должно быть необходимым.Есть ли лучший способ сделать это?