python中字符串中的特殊字符
我生成一个字符串,如下所示,它是一个df表达式 但是,当我添加另外两个变量时,我会收到一个包含大量斜杠字符的字符串。在第二种情况下,使用print时工作正常,但在函数中使用return string时不工作。你能给我提个建议吗 下面是正确生成的一个python中字符串中的特殊字符,python,regex,string,replace,translate,Python,Regex,String,Replace,Translate,我生成一个字符串,如下所示,它是一个df表达式 但是,当我添加另外两个变量时,我会收到一个包含大量斜杠字符的字符串。在第二种情况下,使用print时工作正常,但在函数中使用return string时不工作。你能给我提个建议吗 下面是正确生成的一个 str = "{0}{1}.selectExpr('*',{2})".format(df,filter_feature,retrieved_features) return str "ptf_overall1.fi
str = "{0}{1}.selectExpr('*',{2})".format(df,filter_feature,retrieved_features)
return str
"ptf_overall1.filter(ptf_overall1.measurement_group == 'test').selectExpr('*','case when email_14days > 0 then 1 else 0 end as journey_email_been_sent_flag','case when opened_14days > 0 then 1 else 0 end as journey_opened_flag')"
但是,当我尝试向现有字符串添加以下两个字符串时,它会生成一个带有大量斜杠的字符串
print(group)
.groupBy("country")
print(sum)
.sum("email_14days")
str1 = "{0}{1}.selectExpr('*',{2}){3}{4}".format(df,filter_feature,retrieved_features,group,sum)
return str1
'ptf_overall1.filter(ptf_overall1.measurement_group == \'test\').selectExpr(\'*\',\'case when email_14days > 0 then 1 else 0 end as journey_email_been_sent_flag\',\'case when opened_14days > 0 then 1 else 0 end as journey_opened_flag\').groupBy("country").sum("email_14days")'
预期产出应为
"ptf_overall1.filter(ptf_overall1.measurement_group == 'test').selectExpr('*','case when email_14days > 0 then 1 else 0 end as journey_email_been_sent_flag','case when opened_14days > 0 then 1 else 0 end as journey_opened_flag').groupBy("country").sum("email_14days")"
我试着使用replace、re和translate。但是没有得到预期的输出。我找到的解决方法如下。然而,对我来说,这看起来很傻。这里有谁能提出更好的解决方案吗
query = print("{0}{1}.selectExpr('*',{2}){3}{4}".format(df,filter_feature,retrieved_features,group,sum))
return query
ptf_overall1.filter(ptf_overall1.measurement_group == 'test').selectExpr('*','case when email_14days > 0 then 1 else 0 end as journey_email_been_sent_flag','case when opened_14days > 0 then 1 else 0 end as journey_opened_flag').groupBy("country").sum("email_14days")
输出没有问题。在第一个示例代码中,您
打印字符串;在第二个示例中,只需检查名为str1
的字符串的表示形式。但它是相同的字符串值。如果你想创建一个既有,
又有“
的字符串,那么你必须键入类似示例='\'”
的内容。试着运行打印(“不是”)
重复这是否回答了你的问题?嗨,我没有看完所有的答案。但是你是对的,如果我打印字符串,我会得到正确的结果。但是,我在生成此字符串的函数中使用return。有没有办法在打印时返回字符串