第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Mac 上將 MDB 文件導入 Python (pandas)

在 Mac 上將 MDB 文件導入 Python (pandas)

慕運維8079593 2022-01-18 17:31:46
我在 Mac 上運行 python 3.6。我已經下載了一個 mdb 文件,但沒有 Microsoft 訪問權限,我想將每個表導入 python 并在那里使用它。我已經安裝了 mdbtools 并從 Spyder 運行以下命令:import pandas as pdimport subprocessimport osos.chdir('<directory where mdb file is>')def show_tables(path='avroll_19.mdb'):    tables = subprocess.check_output(["mdb-tables", path])    return tables.decode().split()show_tables()我收到此錯誤:FileNotFoundError: [Errno 2] No such file or directory: 'mdb-tables': 'mdb-tables'我也試過這個,但得到同樣的錯誤:import pandas_access as mdbfor tbl in mdb.list_tables('avroll_19.mdb'):    print(tbl)我在 Anaconda 中使用 Sypder,我不確定這是否是一個問題。mdb 文件位于此處:https ://www1.nyc.gov/assets/finance/downloads/tar/avroll_20.zip我也嘗試使用 pyodbc 來執(zhí)行此操作,但是,它所需的驅動程序似乎不適用于 mac。謝謝您的幫助。
查看完整描述

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.


查看完整回答
反對 回復 2022-01-18
?
小怪獸愛吃肉

TA貢獻1852條經驗 獲得超1個贊

我也收到相同的文件未找到錯誤。這是因為我的訪問數據源是舊的 32 位 .mdb 而我的 python 是 64 位。

它在 32 位機器上工作


查看完整回答
反對 回復 2022-01-18
?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

我有一個使用 R 而不是 Python 的解決方法。我從這篇文章中引用了材料:https ://medium.com/@wenyu.z/reading-ms-access-mdb-files-on-mac-969a176baa7a 。

首先,在終端運行:brew install mdbtools. 請注意,這要求已經安裝了自制軟件。

其次,在 R 中運行:

library(Hmisc)
data <- mdb.get('avroll_19.mdb')

當然,用您的數據庫文件名替換 avroll_19.mdb。


查看完整回答
反對 回復 2022-01-18
  • 3 回答
  • 0 關注
  • 525 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號