2016-11-15 9 views
0

私はPythonコードを書いて、SQLクエリーを呼び出す方法で、SQLクエリーを私の望むようにフォーマットすることができますが、Python(私はSpider GUI)が行末まで来て、文字列が終わらないことを認識します。Pythonで単一の変数としてSQLクエリを保存する

のは、このようになりますテーブルdatabase.tableに自分のデータを言ってみましょう:

ID Date Amount 
1 2016-10-01 $3.00 
1 2016-10-05 $4.99 
1 2016-10-12 $1.29 
2 2016-08-12 $50.13 
2 2016-09-11 $27.89 
2 2016-10-08 $31.13 
3 2016-10-04 $4.18 
3 2016-10-10 $43.99 
3 2016-10-20 $62.11 

私は複数行のコードを書き、Pythonで単一の変数に渡ししようとした場合、私はEOFエラーに遭遇。

Date1 = '2016-10-01' 
Date2 = '2016-10-10' 

TD_Code_Snipit = str("select 
ID, 
sum(Amount) as Amount 
from database.tablename 
group by ID 
where Date >=" 
+Date1+ 
str(" and Date < ") 
+Date2+ 
str(";") 

これは私が入れたい本当のクエリはとても1行のコードでそれを入れて約80行が、それはかなり難しい場での調整を行うことになるだろうです(私のコードでは読みやすさを可能にします。

これは本質的にこの問題に近づく方法が間違っているのですか、またはSpiderでエラーが発生した行を適切に折り返さないようにする設定がありますか?

+2

これが役に立ちます: http://stackoverflow.com/questions/10660435/pythonic-way-to-create-a-long-multi-line-string – user2693928

答えて

1

これはあなたが必要と思うものです。 {}のプレースホルダを使用できます。

Date1 = '2016-10-01' 
Date2 = '2016-10-10' 

TD_Code_Snipit = '''select 
ID, 
sum(Amount) as Amount 
from database.tablename 
group by ID 
where Date >= {} 
and Date < {} 
;'''.format(Date1, Date2) 
関連する問題