如何将以下代码段中的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)
(理想情况下,我不想处理大量串联......不确定这是否可行)
答案 0 :(得分:8)
使用Python的triple quote notation来定义多行字符串:
x = """\
Select *
FROM OURDBNAME.dbo.vw_DimFoo
"""
print(x)
结果
Select *
FROM OURDBNAME.dbo.vw_DimFoo
(反斜杠" \"在开头处抑制换行。要使用多行定义单行字符串,请在每行后添加反斜杠。)
答案 1 :(得分:5)
使用圆括号可以将字符串分成多行。如果你不使用运算符,python将简单地连接。
如此简单的例子:
x = (
'Select * '
'FROM OURDBNAME.dbo.vw_DimFoo '
'WHERE <foo> '
)
print(x)
打印
Select * FROM OURDBNAME.dbo.vw_DimFoo WHERE <foo>