微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python 脚本中的 SQL 查询 f 字符串格式

如何解决Python 脚本中的 SQL 查询 f 字符串格式

我一直在尝试为正在构建的脚本的 sql 查询中的“colname”参数应用 f 字符串格式,但我一直收到解析异常错误。 希望你能帮助我。

def expect_primary_key_have_relevant_foreign_key(spark_df1,spark_df2,colname):
  '''
  Check that all the primary keys have a relevant foreign key
  '''
  # Create Temporary View
  spark_df1.createOrReplaceTempView("spark_df1")
  spark_df2.createOrReplaceTempView("spark_df2")
  
  # Wrap Query in spark.sql
  result = spark.sql("""
                        select df1.*
                        from spark_df1 df1
                        left join
                        spark_df2 df2
                        f"on trim(upper(df1.{colname})) = trim(upper(df2.{colname}))"
                        f"where df2.{colname} is null"
                        """)
  
  if result == 0:
    print("Validation Passed!")
  else:
    print("Validation Failed!")
  
  return result

非常感谢

解决方法

我找到了解决方案, f 在三重引号 """ 之前:

 # Wrap Query in spark.sql
  result = spark.sql(f"""
                        select df1.*
                        from spark_df1 df1
                        left join
                        spark_df2 df2
                        on trim(upper(df1.{colname})) = trim(upper(df2.{colname}))
                        where df2.{colname} is null
                        """)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。