You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark SQL多行SELECT语句报错求助:EOL while scanning string literal

Spark SQL多行SELECT语句语法错误解决方法

你遇到的SyntaxError: EOL while scanning string literal错误,是因为Python中普通双引号包裹的字符串不支持直接换行,解析器会认为字符串未结束就到了行尾。以下是满足你列位置要求的解决办法:

  • 使用三重双引号包裹SQL语句
    这是Python中处理多行字符串最常用的方式,能完美保留你需要的换行格式:

    salesforce_df = spark.sql("""SELECT
    colname1,
    colname2,
    colname3
    FROM tabname;""")
    
  • 在每行末尾添加反斜杠
    通过反斜杠告诉解析器字符串会延续到下一行,注意反斜杠后不能有多余空格:

    salesforce_df = spark.sql("SELECT\
    colname1,\
    colname2,\
    colname3\
    FROM tabname;")
    
  • 使用字符串拼接
    用+连接每行字符串,同样能实现换行效果:

    salesforce_df = spark.sql("SELECT " +
    "colname1, " +
    "colname2, " +
    "colname3 " +
    "FROM tabname;")
    

其中第一种方法最直观且不易出错,完全符合你对列位置的要求。

内容的提问来源于stack exchange,提问作者Rohit Kulkarni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 12:57:02