尝试使用Pandas和SQLAlchemy从数据库导入时出错

时间:2015-02-19 15:41:11

标签: python sql oracle pandas sqlalchemy

我正在使用便携式python 2.7.6.1,我想从oracle数据库导入查询到python pandas。我搜索了几个例子并提出了以下代码:

from sqlalchemy import create_engine
import pandas as pd

engine = create_engine('oracle://user:pass@host:port/schema', echo=False)
df = pd.read_sql('select * from databasetable', engine, index_col = index)

print df.describe()

该程序在&#t; pd.read_sql' -statement处停止,并显示以下错误消息:

AttributeError: 'module' object has no attribute 'read_sql'

数据库连接正在运行,根据示例,此代码应该有效。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

pandas模块从子模块导入read_sql;你可以尝试从子模块中获取它:

df = pd.io.sql.read_sql('select * from databasetable', engine, index_col = index)

您还可以打印pd.__dict__以查看pd模块中的可用内容。如果您尝试使用AttributeError模块中的其他内容,例如pd,您会得到pd.Series()吗?

答案 1 :(得分:0)

非常感谢。 我已经检查了pd。 dict 以及关于版本的pandas-docs。 - >似乎在我的版本0.11.0中'sql_read_frame'是要使用的命令,在版本0.15.0中,您可以使用'read_sql'读取sql

答案 2 :(得分:0)

方法pandas.io.sql.read_sql已在users中发布(发布日期:2013-07-24)。

Change log

  

io API更改:[...]添加了顶级pd.read_sql和to_sql DataFrame方法