2017-08-16 12 views
0

% sのsynthax:パイソン/パンダ/ PyMySQL - 私は、次の操作をやろうとしている

import pymsql 
import pandas as pd 

df: 

    id  height_code  name   ... 
1 34  123123    Jesus 
2 84  3421    Heaps 
3 23  45243    Ornitorrincus 
... 

connection=pymysql.connect(host=xxx,user=xxxx,password=xxxx,db=xxxx) 

for i in df.index: 
    df2=pd.read_sql("select business_id,name,color from table123 where business_id=%s;",connection) % df['id'][i] 

ここでの考え方は、巨大なSQLにアクセスし、行のみを使用してtable123フィルタリングするだけですbusiness_id = df['id'][i]

pymsqlで %s synthaxと

pandas.io.sql.DatabaseError: Execution failed on sql 'select business_id,nome,qualificacao_id from socio_administrador where business_id=%s;': (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%s' at line 1") 

だから、明らかに私がいるトラブル:

しかし、私は次のエラーを取得しています。自分のマニュアルを見ようとしましたが、それについて素敵な説明は見つかりませんでした。

誰かが助けてくれますか?

答えて

0

あなたが持っている:

read_sql("... where business_id=%s;",connection) % df['id'][i] 

でなければなりません:

read_sql("... where business_id=%s;" % df['id'][i], connection) 
関連する問題