Py学习  »  Aaron Gord Thompson  »  全部回复
回复总数  1
5 年前
回复了 Aaron Gord Thompson 创建的主题 » 将在python中创建的pandas数据框插入到sql server中

如图所示 this answer 我们可以转换名为 df 通过执行 list(df.itertuples(index=False, name=None) 所以我们可以把它传给 executemany 没有(显式地)遍历每一行。

crsr = cnxn.cursor()
crsr.fast_executemany = True
crsr.executemany(
    "INSERT INTO #tablename (col1, col2) VALUES (?, ?)",
    list(df.itertuples(index=False, name=None))
)
crsr.commit()

这是“本机的”,但如果数据帧包含pyodbc无法识别的pandas数据类型(pyodbc期望python类型作为参数值),则可能会导致错误。使用sqlalchemy和pandas可能更好 to_sql 方法。