【发布时间】:2020-11-29 08:09:49
【问题描述】:
我正在从 API 检索一些数据并将其插入本地 SQL Server 数据库以进行数据分析。
我想根据收到的Json对象结构创建表并填充到SQL Server中。有没有可以自动完成的 lib/framework python?
我正在使用 pyodbc 插入数据,如下所示。但是,我需要在 SQL Server 中手动创建每个表,并在 python 脚本上逐个字段记下以插入数据。
response = requests.get(url, headers=headers , auth=auth )
parseResponse = json.loads(response.text)
conn = pyodbc.connect(constant.DW_CONNECTION)
cursor = conn.cursor()
for record in parseResponse:
print( "Insert Into LeadSource (RequestGuid, [Key], Description, LocationNumber, Inactive, ShowOnline) values " + json.dumps(convert(record)) )
cursor.execute("Insert Into LeadSource (RequestGuid, [Key], Description, LocationNumber, Inactive, ShowOnline) values (?, ?, ?, ?, ?, ?)", ( record['RequestGuid'], record['Key'], record['Description'], record['LocationNumber'], record['Inactive'], record['ShowOnline'] ) )
conn.commit()
conn.close()
【问题讨论】:
-
你能不能用pandas的@987654321@把JSON拉到DataTable然后用to_sql上传到数据库?
-
我会将 Pandas 保留为数据科学工具,而不是数据迁移工具。此外,我不会有一个 Python 脚本即时构建表。像 MSSQL 这样的企业数据库应该是预先知道所有表的计划项目。另外,如果您需要一个脚本来创建 50+/100+ 个表,这可能是一个有问题的数据库设计。
-
深思熟虑的@Parfait。此 MSSQL 是一个临时 DW,当我获准迁移到云时,将使用 Azure 数据工厂。
标签: python sql-server etl pyodbc