Я пытаюсь передать данные, полученные из файла JSON, в базу данных SQLite. Таким образом, мои данные JSON содержат массив полей, каждое из которых хорошо отображается в столбце таблицы (дальнейшее вложение значений отсутствует). Поэтому каждый объект JSON представляет собой словарь, который я затем могу связать со значениями в операторе вставки.
row_values = {'id': 1, 'field1': 'some value', 'field2': 'some value', 'field3': 'some value'}
sql = "insert into my_table (id, field1, field2, field3) values (:id, :field1, :field2, :field3)"
cursor.execute(sql, row_values)
Проблема в том, что не все поля всегда присутствуют во входных данных JSON, поэтому в моем словаре "row_values", например, для одного объекта может отсутствовать field2, например (выдается ошибка "Вы не указали значение для привязки x") , Каков наилучший способ получить полный словарь, в котором присутствуют недостающие ключи, но в качестве значения просто используются пустые строки? Я подумал сначала создать словарь со всеми необходимыми ключами и значениями в виде пустых строк ({'id': '', 'field1': '', 'field2': '', 'field3': ''}), затем присваивайте значения из объекта JSON ({'id': '', 'field1': 'some value', 'field3': 'some value'}), но, похоже, записи словаря с отсутствующими ключами не поддерживаются .
Так что я, вероятно, делаю это неправильно, и даже не уверен, что это лучший способ ...
Заранее спасибо за помощь!
R.