获取 SQL 数据时出错
P粉648469285
P粉648469285 2023-09-04 17:09:42
[MySQL讨论组]

所以我只是从数据库中提取数据,遇到以下错误。 代码如下:

import pandas as pd
import sqlalchemy

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

运行此代码时出现以下错误:

---------------------------------------------------------------------------
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'

注意:我的数据库没有任何密码,其次我也已经安装了 PyMySQL。

我试图解释使用 python 获取 sql 数据时遇到的错误,我希望得到该问题的解决方案。

P粉648469285
P粉648469285

全部回复(1)
P粉781235689

我强烈建议您尝试以下操作

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

我认为您可能缺少最后的 connect() 部分。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号