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

我有一个列表字典,需要写入 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 以外的库。


梵蒂冈之花
浏览 86回答 1
1回答

海绵宝宝撒

对于任何将来搜索的人,我设法通过将列表字典转换为字典列表来找到解决方案。然后可以通过 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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python