【发布时间】:2018-11-29 02:39:07
【问题描述】:
我有一个大约 300,000 行 (20mb) 的 pandas 数据框,并且想要写入 SQL Server 数据库。
我有以下代码,但执行起来非常慢。想知道有没有更好的方法?
import pandas
import sqlalchemy
engine = sqlalchemy.create_engine('mssql+pyodbc://rea-eqx-dwpb/BIWorkArea?
driver=SQL+Server')
df.to_sql(name='LeadGen Imps&Clicks', con=engine, schema='BIWorkArea',
if_exists='replace', index=False)
【问题讨论】:
-
stackoverflow.com/questions/33816918/… :我会以重复的形式关闭,但我没有立即找到链接的答案。
-
Write Large Pandas DataFrames to SQL Server database @MitchWheat 的可能副本为你准备好了。
-
pyodbc曾经遇到过executemany()大批量的问题,to_sql()在后台使用。fast_executemany标志应该在一定程度上解决这个问题(>100 倍加速)。
标签: python sql sql-server pandas sqlalchemy