[英]Passing a JSON Extract from a rest api to a SQL Server in python
我对 py 编程很陌生; 如果这是一个愚蠢的问题,请原谅。
我需要执行两个操作
从 Rest API 中提取 json 文件(将有大量的键/值对)
将表格格式的数据提取传递给 SQL Server
我编写了一个仅包含 03 个参数的示例函数,这些参数被传递到我系统上的 SQL Server。
如果在 json 提取的情况下存在未知数量的参数,此函数将如何更改?
def InsertJsonsql(Name, City, Age):
connection = pyodbc.connect('Driver={SQL Server};'
'Server=IN2367403W1\SQLEXPRESS;' #IN2367403W1\SQLEXPRESS : use server name
'Database=TestDB;'
'Trusted_Connection=yes;')
cursor = connection.cursor()
json_insert_query = """
INSERT INTO TestDB.dbo.Person (Name, City, Age) VALUES ('{}', '{}', '{}')
""".format(Name, City, Age)
cursor.execute(json_insert_query)
connection.commit()
print("Record inserted successfully into Person table")
正如@shimo在评论中提到的,像 mysql 或 Windows SQL 这样的关系数据库在创建时是固定的。 所以你不能添加新列来处理未知数量的参数。
据我所知,您有两种选择:
1.) 使用像 MongoDB 这样的 NoSQL 数据库。 那里的数据保存为 JSON,因此它可以处理任意数量的键值对。 这是最安全、最好的方法。
2.) 如果您必须使用关系数据库,您可能必须在表中创建一个可以处理长字符串的列,并将您的数据保存为该列中的 JSON 字符串。 这不是一个好的解决方案,您应该使用 NoSQL 数据库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.