在 MS Access 中使用 to_sql(..., method='multi') 时出错
Error using to_sql(… , method='multi') with 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: The 'access' dialect with current database version settings does not support in-place multirow inserts.
.to_sql()
的method="multi"
选项想要创建多行INSERT语句,通常以“table值构造函数”的形式出现,例如,
INSERT INTO table1 (col1, col2) VALUES (1, 'foo'), (2, 'bar')
而 Access SQL 不支持这些。
如果普通 .to_sql()
(没有 method=
)对于大型 DataFrame 来说太慢,那么请考虑 wiki 中记录的替代方法:
我正在使用以下代码将数据插入到 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: The 'access' dialect with current database version settings does not support in-place multirow inserts.
.to_sql()
的method="multi"
选项想要创建多行INSERT语句,通常以“table值构造函数”的形式出现,例如,
INSERT INTO table1 (col1, col2) VALUES (1, 'foo'), (2, 'bar')
而 Access SQL 不支持这些。
如果普通 .to_sql()
(没有 method=
)对于大型 DataFrame 来说太慢,那么请考虑 wiki 中记录的替代方法: