将数据从 Access 数据库导出到 Python 代码

Exporting data from Access database to Python code

我一直在论坛上深入研究,但找不到从 Access 数据库中提取数据的方法。我有两种方法,第一个和第二个选项,我希望它是可以理解的但是如果不清楚,请问我,我是字面意思堆...我的代码是:

# first option
DRIVER_NAME = "Microsoft Access Driver (*.mdb, *.accdb)"

# Path. 
DB_PATH = getcwd() + "/Regitros_Export_History.accdb"

# Connection.

conn = pyodbc.connect("Driver={%s};DBQ=%s;" % (DRIVER_NAME, DB_PATH))

# second option
conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, * 
.accdb)};DBQ=C:\Users\enriq\Dropbox\Proyectos\Escission\Amura\Subvenciones\Puertos 
4.0\Desarrollo de proyecto\Documentación\Archivos compartidos por Coqui 20210818\PROYECTO 
MODELOS ML - JIT\Regitros_Export_History.accdb;')

# Create a cursor to make the queries
cursor=conn.cursor()
cursor.execute('SELECT * FROM 2021-08-15')

rows = q.fetchall()
# Recorrer cada una de las filas e imprimirlas en pantalla.

if rows is not None:
    for row in rows:
        print(row)
else:
    print("No hay datos en la tabla.")

# Cerrar la conexión y, opcionalmente, el cursor antes de finalizar.
cursor.close()
conn.close()

我在行中遇到错误:

ProgrammingError                          Traceback (most recent call last)
<ipython-input-53-56f8241c5894> in <module>
      9 # Crear cursor para ejecutar consultas.
     10 cursor=conn.cursor()
---> 11 cursor.execute('SELECT * FROM 2021-08-15')
     12 
     13 rows = q.fetchall()

ProgrammingError: ('42000', '[42000] [Microsoft][Controlador ODBC Microsoft Access] Error de 
sintaxis en la cláusula FROM. (-3506) (SQLExecDirectW)')

任何方法都有效,我不知道还能尝试什么。数据库中的table叫2021-08-15,应该是查询吧?

先谢谢你,

干杯。

恩里克。

如果名称包含特殊字符(如数字、减号等),您需要将 table 名称括起来

cursor.execute('SELECT * FROM [2021-08-15]')