我已经安装了 sql-alchemy Access,这样我就可以使用 pandas 和 pyodbc 来查询我的 Access DB。
问题是,它非常慢,因为它执行单行插入。另一篇文章建议我使用 method='multi' 虽然它似乎适用于提出这个问题的人,但它会为我抛出一个 CompileError 。
CompileError:具有当前数据库版本设置的“访问”方言不支持就地多行插入。
AttributeError:“CompileError”对象没有属性“orig”
import pandas as pd
import pyodbc
import urllib
from sqlalchemy import create_engine
connection_string = (
r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};"
rf"DBQ={accessDB};"
r"ExtendedAnsiSQL=1;"
)
connection_uri = f"access+pyodbc:///?odbc_connect={urllib.parse.quote_plus(connection_string)}"
engine = create_engine(connection_uri)
conn = engine.connect()
# Read in tableau SuperStore data
dfSS = pd.read_excel(ssData)
dfSS.to_sql('SuperStore', conn, index=False, method='multi')