我有一个列表字典,需要写入 SQL Server,其中字典键是列名,字典值是大型值列表(当前约为 30,000,可能会增长到 50,000 以上)。数据来自 REST API,经过转换并创建一些新值,然后写入。我有一个在 Azure 上运行的工作代码,它使用 pandas 来执行此操作,但是当表从 80 列增长到 110 列时,Azure 开始崩溃,所以现在我编写了一些代码来处理 a 中的所有数据转换。字典,我只需将该字典写入 SQL 即可。字典的一个小例子如下所示:data_dict = {'company': [1, 1, 15, None], 'net_amount': [$200, $250, $150, $100], 'transaction_id': [11111, 11111, 11112, 11113]}我想过将它连接成一个字符串,但这会产生漏洞,而且我知道必须有一个库可以做到这一点,但比 pandas 更轻。任何帮助将不胜感激。我正在运行 3.7+,当前使用 SQLAlchemy 来创建引擎。可以将语句准备为字符串或使用 pandas 以外的库。
1 回答
海绵宝宝撒
TA贡献1809条经验 获得超8个赞
对于任何将来搜索的人,我设法通过将列表字典转换为字典列表来找到解决方案。然后可以通过 SQLAlchemy 上传。
data_list = [dict(zip(data_dict, t)) for t in zip(*data_dict.values())]
engine = sqlalchemy.create_engine(
"mssql://......",
echo=False)
meta = MetaData()
meta.reflect(engine, only=['TABLENAME'])
table = sqlalchemy.Table('TABLENAME', meta, autoload=True, autoload_with=engine)
engine.execute(table.insert(), data_list)
添加回答
举报
0/150
提交
取消