首页 > 解决方案 > 是否可以使用命名变量对 Pyspark 数据框进行通配符过滤?

问题描述

我创建了一个变量,我想在 PySpark DataFrame 上的通配符过滤器中使用它。我可以使用变量名进行完全匹配,但我不确定如何将变量名合并到通配符搜索中。

这段代码对我来说很好,但是它只会提取与变量完全匹配的结果。我需要这个才能用于通配符过滤器。

variable = variablename

df = df.filter(df.columnName.like(variable))

我尝试在前后添加“%”,但这并没有像我希望的那样完成通配符搜索。

variable = filtername
df = df.filter(df.columnName.like(%variable%))

当我尝试这个时,我得到

SyntaxError: invalid syntax

是否可以通配符搜索变量名?我怎样才能做到这一点?

标签: pythonpyspark

解决方案


@pault 评论成功了,解决了我的问题。

df.filter(df.columnName.like("%{}%".format(variable)))

推荐阅读