Saltar al contenido

cómo lidiar con archivos de acceso .mdb con python

Queremos mostrarte la mejor información que descubrimos en internet. Nosotros deseamos que te sirva de ayuda y si puedes comentarnos alguna mejora siente la libertad de hacerlo..

Solución:

A continuación se muestra un código que escribí para otra pregunta SO.
Requiere el módulo pyodbc de terceros.

Este ejemplo muy simple se conectará a una tabla y exportará los resultados a un archivo.
Siéntase libre de ampliar su pregunta con cualquier necesidad más específica que pueda tener.

import csv, pyodbc

# set up some constants
MDB = 'c:/path/to/my.mdb'
DRV = 'Microsoft Access Driver (*.mdb)'
PWD = 'pw'

# connect to db
con = pyodbc.connect('DRIVER=;DBQ=;PWD='.format(DRV,MDB,PWD))
cur = con.cursor()

# run a query and get the results 
SQL = 'SELECT * FROM mytable;' # your query goes here
rows = cur.execute(SQL).fetchall()
cur.close()
con.close()

# you could change the mode from 'w' to 'a' (append) for any subsequent queries
with open('mytable.csv', 'w') as fou:
    csv_writer = csv.writer(fou) # default field-delimiter is ","
    csv_writer.writerows(rows)

Está la biblioteca meza de Reuben Cummings que puede leer bases de datos de Microsoft Access a través de mdbtools.

Instalación

# The mdbtools package for Python deals with MongoDB, not MS Access. 
# So install the package through `apt` if you're on Debian/Ubuntu
$ sudo apt install mdbtools
$ pip install meza

Uso

>>> from meza import io

>>> records = io.read('database.mdb') # only file path, no file objects
>>> print(next(records))

Table1
Table2
…

Esto se parece a una pregunta anterior:

  • ¿Qué necesito para leer bases de datos de Microsoft Access usando Python?
  • http://code.activestate.com/recipes/528868-extraction-and-manipulation-class-for-microsoft-ac/

Respuesta allí debería ser útil.

Recuerda que tienes permiso de agregar una reseña si diste con la respuesta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *