Arbeiten mit einer Access-Datenbank in Python auf einer Nicht-Windows-Plattform (Linux oder Mac)

  • Ich möchte auf die Daten in einer Microsoft Access-Datenbank zugreifen. Ich habe einige .accdb- und .mdb-Dateien und möchte sie in Python lesen.

    Aus meiner Forschung kann pyodbc nur auf Windows-Plattformen verwendet werden, aber ich arbeite unter Mac OS X. Ich bin neu in Python.

    Die andere Option ist, wenn ich die Daten aus der Datenbank in eine CSV exportieren und dann in Python verwenden könnte.

    Jede Hilfe oder das Starten wäre sehr zu begrüßen .

    12 July 2018
    Gord ThompsonNishu Tayal
3 answers
  • "Nach meinen Recherchen kann pyodbc nur auf Windows-Plattformen verwendet werden"

    Nicht wahr. Die pyodbc-Seite sagt:

    Vorkompilierte Binärräder werden für die meisten Python-Versionen unter Windows und Mac OS bereitgestellt. Auf anderen Betriebssystemen wird [pip install pyodbc] vom Quellcode aus erstellt.

    Es ist jedoch sicherlich richtig, dass mit ODBC ein Zugriff mit manipuliert wird Die Datenbank wird hauptsächlich unter Windows ausgeführt. "MDB-Tools" wird zusammen mit "unixODBC" oft als eine Möglichkeit erwähnt, mit Access-Datenbanken auf Nicht-Windows-Plattformen zu arbeiten. In meiner begrenzten Erfahrung habe ich jedoch festgestellt, dass es wirklich nicht sehr gut funktioniert (wenn es funktioniert.) überhaupt).

    Natürlich können Sie für Ihre Nicht-Windows-Plattform auch einen MS Access ODBC-Treiber eines Drittanbieters erwerben, wenn Sie jedoch eine kostenlose Open-Source-Lösung möchten kann den JDBC-Treiber UCanAccess verwenden. Dafür gibt es zwei Möglichkeiten: Jython und JayDeBeApi .

    In beiden Fällen müssen Sie die neueste Version von UCanAccess (zum Download verfügbar) herunterladen hier ) und entpacken Sie die "bin.zip" -Datei an einem geeigneten Ort Behalten Sie die Ordnerstruktur bei:

    Arbeiten mit einer Access-Datenbank in Python auf einer Nicht-Windows-Plattform (Linux oder Mac)

    (In den folgenden Beispielen habe ich es nach ~/Downloads/JDBC/UCanAccess entpackt.)

    Option 1: Jython

    Wichtig: Die folgenden Anweisungen gelten für UCanAccess-Version 3.0.5 oder später.

    Nach ...

    • Installation von Jytho
    21 June 2017
    Gord ThompsonNishu Tayal
  • Diese Frage ist alt, aber in der Dokumentation heißt es:

    Die einfachste Installationsmethode ist die Verwendung von pip. Windows-Binärdateien werden heruntergeladen, andere Betriebssysteme müssen jedoch von der Quelle aus kompiliert werden.

    Es sollte also möglich sein. Es gibt auch ein Beispiel für Linux-Maschinen.

    http : //mkleehammer.github.io/pyodbc/#connecting

    Aber schauen Sie sich diesen Teil in der Quelle an.

    https://github.com/mkleehammer/ pyodbc / blob / master / tests2 / accesstests.py # L630, L636

    Zeigt an, wie die Verbindungszeichenfolge für MS Access-Dateien aussieht.

    04 November 2016
    gravmatt
  • Unter Mac OSx nutze ich pandas_access

    Aus der Dokumentation:

     import pandas_access as mdb
    
    # Listing the tables.
    for tbl in mdb.list_tables("my.mdb"):
    print(tbl)
    
    # Read a small table.
    df = pandas_access.read_table("my.mdb", "MyTable")
     
    17 June 2018
    Vipassana Vijayarangan