Jupyter笔记本中的多行字符串

时间:2016-05-25 08:17:51

标签: python-3.x jupyter

如何将以下代码段中的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 个答案:

答案 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>