Home  >  Q&A  >  body text

Error while getting SQL data

<p>So I'm just pulling data from the database and I'm getting the following error. The code is as follows: </p> <pre class="brush:php;toolbar:false;">import pandas as pd import sqlalchemy engine = sqlalchemy.create_engine("mysql pymysql://root:@localhost:3306/haider") df = pd.read_sql_table("ahmed", engine)</pre> <p>The following error occurred when running this code: </p> <pre class="brush:php;toolbar:false;">--------------------------------- ------------------------------------------ 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'</pre> <p>Note: I don’t have any password for my database, and I also have PyMySQL installed. </p> <p>I am trying to explain the error I am getting while getting sql data using python and I would like a solution to the problem. </p>
P粉648469285P粉648469285412 days ago480

reply all(1)I'll reply

  • P粉781235689

    P粉7812356892023-09-05 12:12:23

    I highly recommend you try the following

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

    I think you may be missing the final connect() part.

    reply
    0
  • Cancelreply