Reading MS Access MDB Files on Mac
… when you have to do it
1 min readApr 11, 2018
Installations on Terminal
Install Homebrew, if you don’t have it
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"Install mdbtools
Install mdbtools
brew install mdbtools
Install meza (optional)
pip install meza
Python Code for Reading Data
Get table from a mdb file
import pandas as pd
import subprocess
def show_tables(path='<file_name>.mdb'):
tables = subprocess.check_output(["mdb-tables", path])
return tables.decode().split()
Get data from a table
import pandas as pd
import subprocess
def show_data(path='<file_name>.mdb', table='<table_name>'):
tables = subprocess.check_output(["mdb-export", path, table])
return tables.decode().split('\n')
def convert_df(path, table):
d = show_data(path, table)
columns = d[0].split(',')
data = [i.split(',') for i in d[1:]]
df = pd.DataFrame(columns=columns, data=data)
return df
What was useless for me
- FreeTDS
- sqlalchemy’s access dialect
- pypyodbc, which only works for Windows
- pyodbc
- MS Excel