2016-05-25 14 views
0

sql文字列xを次のスニペットで複数行に分割するにはどうすればよいですか?Jupyterノートブックにありますか?丸括弧を使用してジュピターノートブックの複数行文字列

import pandas as pd 
import pyodbc as p 

def s(sqlString): 
    cnxn = p.connect(driver='{SQL Server}', server='SERVERNAME', database='OURDBNAME', uid='myLOGIN', pwd='myPWD') 
    df = pd.read_sql(sqlString, cnxn) 
    return df 


x = "SELECT * FROM OURDBNAME.dbo.vw_DimFoo" 
df = s(x) 

(理想的には、私はこれが可能であるかどうかわからない...連結の多くに対処する必要がないしたいと思います)

答えて

2

は、あなたが複数の行の上に文字列を分割することができます。演算子を使用しない場合、pythonは単にconcateになります。

だから、簡単な例:

x = (
    'Select * ' 
    'FROM OURDBNAME.dbo.vw_DimFoo ' 
    'WHERE <foo> ' 
) 

print(x) 

プリント

Select * FROM OURDBNAME.dbo.vw_DimFoo WHERE <foo> 
+0

ありがとう@cel - jupyterでSQLマジックセルを使用しようとすると、 /stackoverflow.com/questions/37433274/pyodbc-working-ok-but-not-via-sql-magic-cell – whytheq

0

使用Pythonのtriple quote notation複数行の文字列を定義するには:

Select * 
FROM OURDBNAME.dbo.vw_DimFoo 

x = """\ 
Select * 
FROM OURDBNAME.dbo.vw_DimFoo 
""" 

print(x) 

結果を

(先頭にバックスラッシュ「\」は改行を抑制します。いくつかの行を使用して1行の文字列を定義するには、各行の後ろにバックスラッシュを追加してください)。

関連する問題