0
원시 코드를 사용하여 생성하도록 사용자에게 요청할 Python 변수로 SQL 코드를 대체하려고합니다.python 변수를 SQL 문에 전달합니다. psycopg2 pandas
아래 코드는 mypythonvariable
을 수동으로 설정하면 (즉, 344
을 sql 코드로 입력하면 작동하는 코드입니다.) SQL을 mypythonvariable
으로 설정하면 작동하지 않습니다.
그러면 전체 sql 쿼리가 pandas 데이터 프레임으로 변환되어 더 이상 문제를 일으킬 수 있습니다.
감사하는 방법에 대한 도움이 필요합니다.
업데이트 : 난 그냥 문에 %s
코드를 추가하고 난 이제 오류 메시지 '를 받고 있어요': 문자열 중에 변환 모든 인수가 를 포맷하지 '보고 그 모든
conn = pg.connect(host = "localhost",
port = 1234,
dbname = "somename",
user = "user",
password = "pswd")
mypythonvariable = raw_input("What is your variable number? ")
sql = """
SELECT
somestuff
FROM
sometable
WHERE
something = %s
"""
df = pd.read_sql_query(sql, con=conn,params=mypythonvariable)
params 객체를 파라미터는 팬더'read_sql_query'에 의해 처리됩니다하지만 당신은 단지 전체로 문자열로 매개 변수를 추가하고 전달할 수있는 방법을 확실하지 : 'SQL = "" "SELECT ... WHERE 뭔가 = % s "" "% (mypythonvariable)' –