为了账号安全,请及时绑定邮箱和手机立即绑定

通过 Python 将列表字典写入 SQL Server

通过 Python 将列表字典写入 SQL Server

梵蒂冈之花 2023-10-05 16:55:58
我有一个列表字典,需要写入 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)


查看完整回答
反对 回复 2023-10-05
  • 1 回答
  • 0 关注
  • 50 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信