如何使用Python将JSON_Object中的所有行插入SQL表

baubqpgj  于 2023-03-13  发布在  Python
关注(0)|答案(1)|浏览(161)

我是Python和API的新手,数据是API响应的结果。
我有一个如下所示的json_object。

json_object = json.dumps(data,indent=2)

其中有如下数据。我成功地连接到SQL服务器localhost使用pymssql,但我需要在提取所有行从这个json到sql表(Table_A)的帮助。
我试着引用不同的帖子,但是他们从json中选择了单独的列。但是我可能有20多个来自json result的列。所以假设我有一个包含所有这20多个列的表(表A)。
如何将此数据发送到ms sql server?

[
  {
    "Key": "ITSAMPLE-8142",
    "Summary": "Test Issue,Data.Analystz.111,Data.Analystz.111",
    "Status": "Open"
  },
  {
    "Key": "ITSAMPLE-8141",
    "Summary": "Test Issue,Data.Analystz.111,Data.Analystz.111",
    "Status": "Open"
  }
]
0pizxfdo

0pizxfdo1#

您可以使用pandas库将JSON对象转换为DataFrame,然后使用pymssql将DataFrame插入SQL Server数据库。
试试这个

import pandas as pd
import pymssql

# Convert JSON object to DataFrame
df = pd.read_json(json_object)

# Connect to SQL Server database
conn = pymssql.connect(
    server='localhost',
    user='your_username',
    password='your_password',
    database='your_database'
)

# Insert DataFrame into SQL Server table
df.to_sql('Table_A', conn, if_exists='append', index=False)

# Close the database connection
conn.close()

这里,if_exists='append'指定数据应追加到数据库中现有的Table_A表。如果该表尚不存在,则将创建它。index=False指定DataFrame的索引列不应包含在数据库表中&您可能需要根据特定的SQL Server设置调整连接参数(server, user, password, and database)

相关问题