我有一個列表字典,需要寫入 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 來創建引擎??梢詫⒄Z句準備為字符串或使用 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
提交
取消