3 回答

TA貢獻1826條經驗 獲得超6個贊
我剛剛確認以下方法適用于當前版本的pandas、JayDeBeApi和UCanAccess JDBC 驅動程序。有關如何設置 Java/UCanAccess 環(huán)境的更多詳細信息,請參閱此答案。
import jaydebeapi
import pandas as pd
db_path = "/home/gord/UCanAccessTest.accdb"
ucanaccess_jars = [
"/home/gord/Downloads/JDBC/UCanAccess/ucanaccess-5.0.0.jar",
"/home/gord/Downloads/JDBC/UCanAccess/lib/commons-lang3-3.8.1.jar",
"/home/gord/Downloads/JDBC/UCanAccess/lib/commons-logging-1.2.jar",
"/home/gord/Downloads/JDBC/UCanAccess/lib/hsqldb-2.5.0.jar",
"/home/gord/Downloads/JDBC/UCanAccess/lib/jackcess-3.0.1.jar",
]
classpath = ":".join(ucanaccess_jars)
cnxn = jaydebeapi.connect(
"net.ucanaccess.jdbc.UcanaccessDriver",
f"jdbc:ucanaccess://{db_path}",
["", ""],
classpath,
)
df = pd.read_sql_query("SELECT * FROM Clients", cnxn)
print(df)
"""console output:
ID LastName FirstName DOB
0 1 Thompson Gord 2017-04-01 07:06:27
1 2 Loblaw Bob 1996-09-12 16:03:00
"""
請注意,這適用于從 Access讀取到 pandas,但不適用于使用to_sql.
添加回答
舉報