2016-05-23 6 views
1

私はPythonを初めて使い、PythonでSQLコードを実行しようとしていて、その結果がpandasデータフレームにあります。私は次のコードを使用していると私は単純なSQLクエリがあるときにコードが実行されます。しかし、私は、SQLで適切な書式設定と超長期かつ複雑なクエリを実行しようとすると、失敗します。任意のモジュール/オプションを使用することができますので、pythonは、python固有のsqlクエリ内のインデントとスペースを認識しますか?pandasのSQLクエリをコピーして貼り付ける方法read_Sql

cnxn = ...#ここでそれだ私のSQL Serverデータベースへの接続 sql_2 =

r'(Select distinct NPI, 
     practice_code=RIGHT('000'+CAST(newcode AS VARCHAR(3)),3), 
     SRcode, 
     StandardZip, 
     Zipclass, 
     CountySSA, 
     PrimaryCountySSA, 
     PrimaryCounty, 
     PrimaryCountyClass, 
     Lat_Clean, 
     Long_Clean 
    FROM Docusinporactice a 
    LEFT JOIN locationInfo b 
    on a.zip=b.zip 
    ) 

sql_data_test = pd.read_sql_query(sql_2、cnxn)

+0

SQLはインデントを気にしません。 – reptilicus

+0

"" "" SOME LONG STRING "" " – reptilicus

答えて

0

r = """ Select distinct NPI, practice_code=RIGHT('000'+CAST(newcode AS VARCHAR(3)),3), SRcode, StandardZip, Zipclass, CountySSA, PrimaryCountySSA, PrimaryCounty, PrimaryCountyClass, Lat_Clean, Long_Clean FROM Docusinporactice a LEFT JOIN locationInfo b on a.zip=b.zip """

この方法でSQL文が動作するはずです

+0

のように、長いテキストを3重引用符で囲むことができます。 – sudhareg

+0

ようこそ。あなたが答えとして受け入れるなら、私は感謝します。 – sb0709

関連する問題