【问题标题】:how to store data from json in sql table (python)如何将json中的数据存储在sql表中(python)
【发布时间】:2021-07-03 00:11:59
【问题描述】:

我在 json 文件中有数据

例如:

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

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

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

使用python

【问题讨论】:

  • 到目前为止你有什么尝试?
  • 我没有尝试,因为我不知道如何处理它如果你有如何做的链接或解释它真的会帮助我

标签: python mysql json


【解决方案1】:

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

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

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

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 列。

【讨论】:

    猜你喜欢
    • 2012-08-29
    • 1970-01-01
    • 2023-03-20
    • 2018-09-06
    • 1970-01-01
    • 2016-07-17
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    相关资源
    最近更新 更多