Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
插入和获取python dict问题_Python_Mysql_Json_Dictionary - Fatal编程技术网

插入和获取python dict问题

插入和获取python dict问题,python,mysql,json,dictionary,Python,Mysql,Json,Dictionary,我需要将Dict插入Mysql数据库并检索相同的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 detai

我需要将Dict插入Mysql数据库并检索相同的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)
<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']
在上面的代码中,big_dict基本上是一个dict,我需要将它插入到DB中

因此,我在相同的数据库中执行了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
结果如下:

    # 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)
<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']

您需要将json转换回dict结构:

data_dict = json.loads(dat)

print(data_dict["dict_floating"])