0
私は、raw_inputを使用して生成するようにユーザーに依頼するpython変数でSQLコードを置き換えようとしています。Python変数をSQL文に渡すpsycopg2 pandas
以下は、mypythonvariable
を手作業で入力した場合、つまり344
をSQLコードに入力するとうまくいくコードですが、SQLをmypythonvariable
に設定すると機能しません。
さらに、SQLクエリー全体がpandasデータフレームに変換され、さらに問題が発生します。
どのようにお手伝いをするかお手伝いします。
UPDATE:私はちょうどステートメントに%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 "" "%(mypython変数)' –