Мне нужно вставить Dict в базу данных Mysql и получить то же самое.Вставка и выбор проблем python dict
Для этого я обрамлении код, который выглядит следующим образом:
# dict json dumped for inserting to DB
final_dict = json.dumps(big_dict)
invoice_id = tenant_id
# fina_dict exists
if final_dict:
logging.info("Inserting the necessary details into invoice_details table for tenant %s invoice period (%s to %s) Invoice date - %s" % (tenant_id, begin, end, date))
sql = "INSERT INTO invoice_details(invoice_date, tenant_id, invoice_id, invoice_data, invoice_period_from, invoice_period_to) \
VALUES ('%s', '%s', '%s', '%s', '%s', '%s')" % \
(date, tenant_id, invoice_id, final_dict, begin, end)
В основном коде выше big_dict является Dict, который мне нужно вставить в к БД.
Так что я выполнил json.dumps в том же самом для того, чтобы вставить то же самое в БД.
Я могу видеть, что он вставлялся в DB по мере необходимости.
invoice_data: {"dict_all_cost_total": "16872.4061451", "dict_total_all": {"c3362ca0-8810-4ab7-a5b2-3cb571815690": ["test_instance", "m1.tiny", "16797.8795147"]}, "dict_inbound": {"c3362ca0-8810-4ab7-a5b2-3cb571815690": ["test_instance", "m1.tiny", "98.6362838745"]}, "dict_volume": "0", "dict_compute": {"c3362ca0-8810-4ab7-a5b2-3cb571815690": ["test_instance", "m1.tiny", "16570.0"]}, "dict_floating": "4.5", "dict_outbound": {"c3362ca0-8810-4ab7-a5b2-3cb571815690": ["test_instance", "m1.tiny", "129.24323082"]}}
Теперь мне нужно вернуть значения и обработать их.
У меня есть пример кода для получения значений.
данных в data_new:
data1 = json.loads(data)
print data1
print type(data1)
dict_compute = data1['dict_compute']
for dict_computes in dict_compute.iteritems():
for dict_computes_items in dict_computes:
print dict_computes_items
Результат выглядит следующим образом:
<type 'tuple'>
{u'dict_all_cost_total': u'109776.13801', u'dict_total_all': {u'5477b2b2-91f8-4e4b-a5b0-8f4a32210915': [u'instance_for_demo', u'm1.tiny', u'109776.13801']}, u'dict_inbound': {u'5477b2b2-91f8-4e4b-a5b0-8f4a32210915': [u'instance_for_demo', u'm1.tiny', u'93072.0652571']}, u'dict_volume': u'0', u'dict_compute': {u'5477b2b2-91f8-4e4b-a5b0-8f4a32210915': [u'instance_for_demo', u'm1.tiny', u'16590.0']}, u'dict_floating': u'0', u'dict_outbound': {u'5477b2b2-91f8-4e4b-a5b0-8f4a32210915': [u'instance_for_demo', u'm1.tiny', u'114.072752953']}}
<type 'dict'>
5477b2b2-91f8-4e4b-a5b0-8f4a32210915
[u'instance_for_demo', u'm1.tiny', u'16590.0']
Моя цель состоит в том, чтобы получить значения из dict_computes.
instance_for_demo, m1.tiny etc