如何将返回的python JSON字典转换为字典中的列表,并将数据转换为SQL插入

问题描述 投票:0回答:1

给出示例JSON数据,它具有一个Dictionary,并且其中包含一个包含另一个Key对字典集合的List:

MyData={
    'Key1': 'Value 1', 
    'Key2': Value2, 
    'Key3': Value3, 
    'Key4': 
            [
            {
              "SubKey1": "SubValue",
              "SubKey2": "SubValue",
              "SubKey3": "SubValue",
              "SubKey1": "SubValue"
            },
            {
              "SubKey1": "SubValue",
              "SubKey2": "SubValue",
              "SubKey3": "SubValue",
              "SubKey1": "SubValue"
            },
            {
              "SubKey1": "SubValue",
              "SubKey2": "SubValue",
              "SubKey3": "SubValue",
              "SubKey1": "SubValue"
            }
          ]
        }

我如何将其转换为适当的SQL插入?

我发现一个SQL可以执行一次插入,并且看起来工作良好:

columns = ', '.join("'" + str(x).replace('/', '_') + "'" for x in MyData.keys())
values = ', '.join("'" + str(x).replace('/', '_') + "'" for x in MyData.values())
sql = "INSERT INTO %s ( %s ) VALUES ( %s );" % ('mytable', columns, values)
print(sql)

但是它只会在其中创建1行插入物>

我正在寻找的是将Key1,Key2,Key3与3个子值一起插入3次(请注意,可以大于或小于3)。

[我会注意到这是对返回JSON数据的API的Python 3调用。

谢谢

给出示例JSON数据,该数据具有一个Dictionary,并且其中包含一个包含另一对密钥对的字典集的List:MyData = {'Key1':'Value 1','Key2':Value2,'Key3':Value3,'Key4' ...

python sql json api dictionary
1个回答
0
投票

为了进行记录,我将返回到原来的SQL插入方法,使用通过Python创建的SQL连接,并为第一个表创建单个插入。然后遍历key4值并为第二个表创建插入(这样,它将根据返回值的数量动态插入我的行。

© www.soinside.com 2019 - 2024. All rights reserved.