簡體   English   中英

SQL 查詢 Python 腳本中的字符串格式

[英]SQL query f string formatting in Python script

我一直在嘗試為我正在構建的腳本的 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
                        """)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM