python三引号嵌套双引号执行结果不对

当python使用三引号嵌套双引号时需要转义,不然可能出现一些意想不到的情况,比如

sql="""
select * from table where GET_JSON_OBJECT(regexp_replace(regexp_replace(param, '2:', '"2":'), '4:', '"4":'), '$.XXX') IN(1)
"""
ht.exec_sql(sql)

当使用pyspark执行上面语句时不会报错,但是结果总是不对,应该在双引号那里加上两个反斜杠转义

sql="""
select * from table where GET_JSON_OBJECT(regexp_replace(regexp_replace(param, '2:', '\\"2\\":'), '4:', '\\"4\\":'), '$.XXX') IN(1)
"""
ht.exec_sql(sql)

 

    原文作者:别说话写代码
    原文地址: https://blog.csdn.net/qq_21997625/article/details/109065606
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞