如何为regexp_replace函数的第二个参数指定不同的列?

问题描述 投票:0回答:0

我试图用“?”替换部分列文本。但是我得到了一个错误。 我想在 spark 中使用本机数据框。

TypeError:列不可迭代

data = [("John Doe", "123 Main St, Anytown, USA"),
        ("Jane Smith", "456 High St, Somewhere, USA")]

df = spark.createDataFrame(data, ["name", "address"])
from pyspark.sql.functions import regexp_replace, col
start = 3
end = 10
df_masked = df.withColumn("address_masked", regexp_replace(col("address"), substring("address", start, end), "??????????"))

预期结果

姓名 address_masked
无名氏 123????????, Anytown, 美国
简·史密斯 456??????????, 美国某处
pyspark substring databricks regexp-replace
© www.soinside.com 2019 - 2024. All rights reserved.