【问题标题】:Multiline strings in Jupyter notebookJupyter 笔记本中的多行字符串
【发布时间】:2016-05-25 08:17:50
【问题描述】:

如何将以下 sn-p 中的 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)

(理想情况下,我不想处理大量的连接......不确定这是否可能)

【问题讨论】:

    标签: python-3.x jupyter


    【解决方案1】:

    使用 Python 的triple quote notation 定义多行字符串:

    x = """\
    Select * 
    FROM OURDBNAME.dbo.vw_DimFoo
    """
    
    print(x)
    

    结果

    Select * 
    FROM OURDBNAME.dbo.vw_DimFoo
    

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

    【讨论】:

      【解决方案2】:

      使用圆括号可以将字符串拆分为多行。如果不使用运算符,python 将简单地连接。

      如此简单的例子:

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

      打印

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

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-23
      • 1970-01-01
      • 1970-01-01
      • 2016-07-16
      • 2017-10-10
      • 1970-01-01
      相关资源
      最近更新 更多