用sqlalchemy,mysql和pandas读取框架

tsc*_*chm 9 mysql sqlalchemy pandas

我正在尝试连接到mysql数据库,与选项1一起正常工作:

from sqlalchemy import create_engine
engine = create_engine('mysql://root:root@localhost/lend', echo=True)
cnx = engine.connect()
x = cnx.execute("SELECT * FROM user")
Run Code Online (Sandbox Code Playgroud)

但在这里打破:

from pandas.io import sql
xx = sql.read_frame("SELECT * FROM user", cnx)
cnx.close()
Run Code Online (Sandbox Code Playgroud)

AttributeError:'Connection'对象没有属性'rollback'

van*_*van 19

您需要具有原始数据库连接,而不是实例Connection.为了让它打电话engine.raw_connection()engine.connect().connection:

from pandas.io import sql
#cnx = engine.connect().connection # option-1
cnx = engine.raw_connection() # option-2
xx = sql.read_frame("SELECT * FROM user", cnx)
cnx.close()
Run Code Online (Sandbox Code Playgroud)

  • 只是一个更新(我认为从pandas版本0.14开始)你现在可以直接使用引擎:`xx = sql.read_sql("SELECT*FROM user",engine)`.查看[docs](http://pandas.pydata.org/pandas-docs/dev/generated/pandas.io.sql.read_sql.html). (10认同)
  • @Midnighter:确实,这是我现在大部分时间使用它的方式 (2认同)