У меня есть словарь, который следует следующей структуре:Вставка сложных словарей в базу данных sqlite?
mydict = {0: {10001: {'simple': 1, 'example': 2}, 10002: {'simple': 2, 'example': 1}}, 1: {20002: {'simple': 0, 'example': 2}}}
Ключа верхнего уровня не имеет никакого отношения к БД SQLite, однако 10001, 10002, 20002 ключей все представляют собой первичные ключи в той же таблице, с их прилагаемые словари, содержащие атрибуты, также должны быть вставлены. Метод, который я придумал:
top_level_keys = mydict.keys()
list_of_lists = []
for key in top_level_keys:
primary_keys = mydict[key].keys()
for k in primary_keys:
list_of_lists.append([k, mydict[key][k]["example"],mydict[key][k]["simple"]])
Это дает мне список всех записей в порядке, мне нужно для простой вставки:
[[10001, 2, 1], [10002, 1, 2], [20002, 2, 0]]
Чем больше столбцов, которые добавляются в таблицу, однако , дольше, чем list_of_lists.append ... утверждение становится - сейчас около 30. Я мог бы итерации через эти ключи, но потом потерял бы порядок для вставки sqlite.
Есть ли более простой/лучший способ сделать это?
Спасибо, я потратил слишком много времени, пытаясь найти умное средство для сортировки, когда ответ был простым списком! – Groundhog