Импорт файла MDB в Python на Mac - PullRequest
1 голос
/ 22 апреля 2019

Я использую Python 3.6 на Mac. Я скачал mdb-файл, но у меня нет доступа Microsoft, я хотел бы импортировать каждую таблицу в python и работать с ней там.

Я установил mdbtools и запустил следующее из Spyder:

import pandas as pd
import subprocess
import os

os.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 mdb
for tbl in mdb.list_tables('avroll_19.mdb'):
    print(tbl)

Я использую Sypder в Anaconda, я не уверен, что это проблема.

Файл mdb находится здесь: https://www1.nyc.gov/assets/finance/downloads/tar/avroll_20.zip

Я также попытался сделать это с помощью pyodbc, однако, похоже, что драйвер, необходимый для этого, недоступен для Mac.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 23 апреля 2019

У меня есть обходной путь, использующий R, а не Python.Я ссылался на материал из этого поста: https://medium.com/@wenyu.z/reading-ms-access-mdb-files-on-mac-969a176baa7a.

Сначала в терминальном прогоне: brew install mdbtools.Обратите внимание, это требует, чтобы homebrew уже был установлен.

Во-вторых, в R запустите это:

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

Конечно, замените avroll_19.mdb именем вашей базы данных.

...