我正在使用便携式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'
数据库连接正在运行,根据示例,此代码应该有效。有人可以帮忙吗?
答案 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)。
io API更改:[...]添加了顶级pd.read_sql和to_sql DataFrame方法