Error While Fetching SQL data

huangapple go评论61阅读模式
英文:

Erro While Fetching SQL data

问题

I encountered the following error while running the provided code:

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

It seems that you encountered an AttributeError related to the 'execute' attribute of the 'OptionEngine' object. You mentioned that your database doesn't have a password, and you have PyMySQL installed. To resolve this issue, you might need to check the compatibility between the SQLAlchemy version and PyMySQL, or there might be an issue with your SQLAlchemy engine configuration.

For a more detailed solution, you may want to verify your SQLAlchemy and PyMySQL versions and ensure your database connection is correctly configured.

英文:

so i was just extracting data from my database and i encountered following error.
The code goes as follows:

import pandas as pd
import sqlalchemy

engine = sqlalchemy.create_engine("mysql+pymysql://root:@localhost:3306/haider")
df = pd.read_sql_table("ahmed", engine)

while running this code i got following error:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In [46], line 1
----> 1 df = pd.read_sql_table("ahmed", engine)

File E:\python\lib\site-packages\pandas\io\sql.py:286, in read_sql_table(table_name, con, schema, index_col, coerce_float, parse_dates, columns, chunksize)
    282     raise ValueError(f"Table {table_name} not found")
    284 # error: Item "SQLiteDatabase" of "Union[SQLDatabase, SQLiteDatabase]"
    285 # has no attribute "read_table"
--> 286 table = pandas_sql.read_table(  # type: ignore[union-attr]
    287     table_name,
    288     index_col=index_col,
    289     coerce_float=coerce_float,
    290     parse_dates=parse_dates,
    291     columns=columns,
    292     chunksize=chunksize,
    293 )
    295 if table is not None:
    296     return table

File E:\python\lib\site-packages\pandas\io\sql.py:1460, in SQLDatabase.read_table(self, table_name, index_col, coerce_float, parse_dates, columns, schema, chunksize)
   1417 """
   1418 Read SQL database table into a DataFrame.
   1419 
   (...)
   1457 
   1458 """
   1459 table = SQLTable(table_name, self, index=index_col, schema=schema)
-> 1460 return table.read(
   1461     coerce_float=coerce_float,
   1462     parse_dates=parse_dates,
   1463     columns=columns,
   1464     chunksize=chunksize,
   1465 )

File E:\python\lib\site-packages\pandas\io\sql.py:1003, in SQLTable.read(self, coerce_float, parse_dates, columns, chunksize)
   1001 else:
   1002     sql_select = select(self.table)
-> 1003 result = self.pd_sql.execute(sql_select)
   1004 column_names = result.keys()
   1006 if chunksize is not None:

File E:\python\lib\site-packages\pandas\io\sql.py:1405, in SQLDatabase.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)

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

NOTE: My database doesn't have any password and secondly i was already installed PyMySQL too.

i tried to explain an error that i got while fetching sql data using python and i expect to get a solution to that problem.

答案1

得分: 1

我建议你尝试以下代码部分
engine = sqlalchemy.create_engine("mysql+pymysql://root:@localhost:3306/haider").connect()

我认为你可能遗漏了末尾的 connect() 部分。

英文:

I urge you to try the following

engine = sqlalchemy.create_engine("mysql+pymysql://root:@localhost:3306/haider").connect()

I think you might be missing the connect() part at the end.

huangapple
  • 本文由 发表于 2023年4月11日 10:12:20
  • 转载请务必保留本文链接:https://go.coder-hub.com/75981947.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定