python - 是否可以使用命名变量对 Pyspark 数据框进行通配符过滤?
问题描述
我创建了一个变量,我想在 PySpark DataFrame 上的通配符过滤器中使用它。我可以使用变量名进行完全匹配,但我不确定如何将变量名合并到通配符搜索中。
这段代码对我来说很好,但是它只会提取与变量完全匹配的结果。我需要这个才能用于通配符过滤器。
variable = variablename
df = df.filter(df.columnName.like(variable))
我尝试在前后添加“%”,但这并没有像我希望的那样完成通配符搜索。
variable = filtername
df = df.filter(df.columnName.like(%variable%))
当我尝试这个时,我得到
SyntaxError: invalid syntax
是否可以通配符搜索变量名?我怎样才能做到这一点?
解决方案
@pault 评论成功了,解决了我的问题。
df.filter(df.columnName.like("%{}%".format(variable)))
推荐阅读
- react-native - How to create a custom image picker component, like instagram [REACT-NATIVE]
- c# - 当我“绘制”线时,如何将点平均分配到 LineRenderer 的宽度曲线?
- docker - Bazel 使用本地 golang 模块构建 docker 容器
- python - Count cumulative true Value
- postgresql - 批量插入/更新的应用程序设计
- amazon-web-services - CDK ClientVpnEndpoint。想了解获取创建的 VpnEndpoint 的 DnsName
- javascript - 正则表达式用多个字符替换匹配模式的字符串
- python - 如何找到熊猫系列中最长的列表?
- python - 用于 Python3 请求扩展的 TLS 适配器
- c - 从C中的HDF5文件确定固定长度字符串属性的长度