2
respuestas

AttributeError: 'OptionEngine' object has no attribute 'execute'

No me funciona sqlalquemist

pd.read_sql(query, engine)

AttributeError Traceback (most recent call last) in <cell line: 1>() ----> 1 pd.read_sql(query, engine)

2 frames /usr/local/lib/python3.10/dist-packages/pandas/io/sql.py in execute(self, *args, **kwargs) 1403 def execute(self, *args, **kwargs): 1404 """Simple passthrough to SQLAlchemy connectable""" -> 1405 return self.connectable.execution_options().execute(*args, **kwargs) 1406 1407 def read_table(

AttributeError: 'OptionEngine' object has no attribute 'execute'

2 respuestas

Hola, Ale! La función engine.table_names() fue actualizada: https://docs.sqlalchemy.org/en/14/core/connections.html#sqlalchemy.engine.Engine.table_names

Puedes usar la función inspect() para obtener información en tiempo de ejecución sobre cualquier objeto de SQLAlchemy, incluido el motor (engine). Esto crea un objeto de inspección que puede ser consultado para obtener más información.

El comando de código que puedes usar es el siguiente:

from sqlalchemy import create_engine, MetaData, Table, inspect
engine = create_engine('sqlite://')
inspection = inspect(engine)
matriculas_por_curso.to_sql('matriculas', engine)
inspection.get_table_names()

Abrazo y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓.

Probablemente, estás pasando por el mismo problema que el siguiente compañero: https://app.aluracursos.com/forum/topico-problema-creando-consultas-en-el-banco-de-datos-librerias-sql-no-responden-221493