Jupyter笔记本中的多行字符串

why*_*heq 2 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)
Run Code Online (Sandbox Code Playgroud)

(理想情况下,我希望不必处理很多串联...不确定是否可行)

小智 9

使用Python的三引号表示法定义多行字符串:

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

print(x)
Run Code Online (Sandbox Code Playgroud)

结果是

Select * 
FROM OURDBNAME.dbo.vw_DimFoo
Run Code Online (Sandbox Code Playgroud)

(开头的反斜杠“ \”禁止换行。要使用多行定义单行字符串,请在每行之后添加反斜杠。)


cel*_*cel 7

使用圆括号将使您可以将字符串分成多行。如果不使用运算符,则python会简单地连接起来。

这么简单的例子:

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

print(x)
Run Code Online (Sandbox Code Playgroud)

版画

Select * FROM OURDBNAME.dbo.vw_DimFoo WHERE <foo> 
Run Code Online (Sandbox Code Playgroud)