2017-12-11 6 views
0

다양한 답변을 살펴본 결과 구문이 하나도 작동하지 않습니다.매개 변수가있는 pandas read_sql에 문자열 또는 바이트 개체가 필요합니다.

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'}) 

가 나는 또한 다양한 구성을 시도하고 난 다음 오류가 점점 계속 : 파이썬 3.5에서 다음 코드를 사용하고

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

. cx_Oracle는'text()'구조로 무엇을해야할지 모른다. –

답변

0

당신이 당신의 SQL 쿼리를 위해 일반 문자열을 사용하려고 할 수 있습니다 ? 쿼리에서 text() 함수의 래핑을 취소하십시오.

참고 : 당신은 SQLAlchemy의 원시 DB-API를 혼합 한

SQLAlchemy text

pd.read_sql()