将 to_sql(... , method='multi') 与 MS Access 一起使用时出错



我正在使用以下代码将数据插入Microsoft Access数据库:

test_data.to_sql('employee_table', cnxn, index=False, if_exists='append', chunksize=10, method='multi')

给出错误:

AttributeError: 'CompileError' object has no attribute 'orig'

仅使用以下选项即没有method选项时不会出现错误:

test_data.to_sql('employee_table', cnxn, index=False, if_exists='append', chunksize=10)

您引用的错误消息是由原始错误(在堆栈跟踪的前面)引起的后续异常:

sqlalchemy.exc。CompileError:当前数据库版本设置的"access"方言不支持就地多行插入。

.to_sql()method="multi"选项想要创建多行INSERT语句,通常以"表值构造器"的形式,例如

INSERT INTO table1 (col1, col2) VALUES (1, 'foo'), (2, 'bar')

和Access SQL不支持这些

如果普通的.to_sql()(没有method=)对于大型DataFrame来说太慢,那么请考虑wiki中记录的替代方法:

https://github.com/gordthompson/sqlalchemy-access/wiki/%5Bpandas%5D-faster-alternative-to-.to_sql () -for-large-uploads

相关内容

  • 没有找到相关文章

最新更新