首页 > 解决方案 > 如何将json中的数据存储在sql表中(python)

问题描述

我在 json 文件中有数据

例如:

{
"A": [
    "a",
    "b",
    "c"
],
"B": [
    "d",
    "e",
    "f"
],
"C": [
    "g",
    "h",
    "i"
]
}

并且对于json文件中的每个键(A,B,C)我都有表(sql表)

我如何查看我的 json 文件并将数据存储在表中

使用蟒蛇

标签: pythonmysqljson

解决方案


尝试这样的事情,它会让你走上正确的道路。基本上你需要:

  • 遍历字典键
  • 遍历每个键中的列表值
  • 生成 SQL 语句插入表中的键、列表中的值

使用items()方法迭代字典中的键值对的基本示例。然后,您可以使用进一步的循环来迭代列表中的值,然后从中生成SQL 插入行。我刚刚创建了一个简单的打印语句来显示它的外观。

my_dict = {
    "A": [
        "a",
        "b",
        "c"
    ],
    "B": [
        "d",
        "e",
        "f"
    ],
    "C": [
        "g",
        "h",
        "i"
        ]
}

for key, value in my_dict.items():
    for row in value:
        print(f"'INSERT INTO {key} (whateverColumn) VALUES {row}'")

'INSERT INTO A (whateverColumn) VALUES a'
'INSERT INTO A (whateverColumn) VALUES b'
'INSERT INTO A (whateverColumn) VALUES c'
'INSERT INTO B (whateverColumn) VALUES d'
'INSERT INTO B (whateverColumn) VALUES e'
'INSERT INTO B (whateverColumn) VALUES f'
'INSERT INTO C (whateverColumn) VALUES g'
'INSERT INTO C (whateverColumn) VALUES h'
'INSERT INTO C (whateverColumn) VALUES i'

我建议阅读我包含的两个链接并自己玩。您的问题中缺少很多内容,例如每个表中所需的列是什么,为什么有单独的表等。可能有更好的方法来实现目标。例如,如果您需要存储 JSON,为什么不在 Postgres 数据库中使用 JSONB 列。


推荐阅读