带参数的pandas read_sql需要字符串或字节对象

时间:2017-12-11 22:15:15

标签: python-3.x pandas sqlalchemy

我已经查看了各种答案,并且没有一种语法对我有用。我在Python 3.5中使用以下代码:

from sqlalchemy import text
import pandas as pd
import cx_Oracle
conn = cx_Oracle.connect(os.getlogin()) --this part works fine
sql = text('select var1 as "nameM" ' \
              'from Table1 where ' \
              'col1 = :le ' \
              'and col2 = :t ' \
              'and col3Date between :stDt and :enDt')
data = pd.read_sql(sql, conn, params = {'le':'S', 't':'HEN', 'stDt':'06-NOV-17', 'enDt':'24-NOV-17'})

我也尝试了各种其他配置,并且我不断收到以下错误:

pandas.io.sql.DatabaseError: Execution failed on sql XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX: expecting string or bytes object

1 个答案:

答案 0 :(得分:0)

您可以尝试使用普通字符串进行SQL查询吗?从查询中打开cout<<returnvalue(); 函数。

参考文献:

SQLAlchemy text

pd.read_sql()