如何将json中的数据存储在sql表中(python)

Posted

技术标签:

【中文标题】如何将json中的数据存储在sql表中(python)【英文标题】:how to store data from json in sql table (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

【问题讨论】:

到目前为止你有什么尝试? 我没有尝试,因为我不知道如何处理它如果你有如何做的链接或解释它真的会帮助我 【参考方案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 列。

【讨论】:

以上是关于如何将json中的数据存储在sql表中(python)的主要内容,如果未能解决你的问题,请参考以下文章

通过c#代码检索存储在sql表中的Json值的最佳实践

C# 查询 SQL Server 表中的 JSON 列以获取匹配的行

使用两个 SQL 表为 Javascript 获取 JSON 数据

如何从sql server中的表中查询json数组类型列的值?

如何使用 node.js 将 sql 中的数据放入 html 中的表中

如何使用 sql 查询以行存储模式在 snappydata 表中加载 JSON 数据?