Pandas read_sql() - AttributeError:“Engine”对象没有属性“cursor”

2024-03-21

我正在尝试使用 pandas read_sql() 方法和 python3+sqlalchemy+pymysql 从 MySQL 查询中读取数据

我尝试遵循以下教程 -

https://pythondata.com/quick-tip-sqlalchemy-for-mysql-and-pandas/ https://pythondata.com/quick-tip-sqlalchemy-for-mysql-and-pandas/

https://www.youtube.com/watch?v=M-4EpNdlSuY https://www.youtube.com/watch?v=M-4EpNdlSuY

https://www.programcreek.com/python/example/101381/pandas.read_sql https://www.programcreek.com/python/example/101381/pandas.read_sql

代码看起来一切都很好

import pandas
import sqlalchemy
engine = sqlalchemy.create_engine('mysql+pymysql://root:[email protected] /cdn-cgi/l/email-protection:3306/mydatabase')
df = pandas.read_sql("SELECT * FROM persons", con = engine)

收到以下错误 -

AttributeError:“Engine”对象没有属性“cursor”

当我尝试传递“连接”变量而不是“引擎”时,如下所示 -

import pandas
import sqlalchemy
engine = sqlalchemy.create_engine('mysql+pymysql://root:[email protected] /cdn-cgi/l/email-protection:3306/mydatabase')
connection = engine.connect()
df = pandas.read_sql("SELECT * FROM persons", con = connection)

它说 -

属性错误:“连接”对象没有属性“光标”

我究竟做错了什么?


参考 -https://github.com/pandas-dev/pandas/issues/23030#issuecomment-428140488 https://github.com/pandas-dev/pandas/issues/23030#issuecomment-428140488

当我

  • 保存了我的工作簿
  • 重新启动电脑
  • Reloaded

好像有什么东西被缓存了。我可以通过传递“engine”引用来使用 read_sql() 和其他 pandas sql 函数 -

import pandas
import sqlalchemy
engine = sqlalchemy.create_engine('mysql+pymysql://root:[email protected] /cdn-cgi/l/email-protection:3306/mydatabase')
df = pandas.read_sql("SELECT * FROM persons", con = engine)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas read_sql() - AttributeError:“Engine”对象没有属性“cursor” 的相关文章

随机推荐