Skip to main content
 首页 » 编程设计

python之如何替换 spark 数据框所有列中的多个字符

2024年08月19日32pengyingh

我有一个包含多列的数据框。

>>> df.take(1) 
[Row(A=u'{dt:dt=string, content=Prod}', B=u'{dt:dt=string, content=Staging}')] 

我想从 df 的 A 列和 B 列的值中删除花括号“{”和“}”。我知道我们可以使用:

df.withColumn('A',regexp_replace('A','//{','')) 
df.withColumn('A',regexp_replace('A','//}','')) 
df.withColumn('B',regexp_replace('B','//}','')) 

如何为 Spark 数据帧的所有列动态替换字符? ( Pandas 版如下图)

df = df.replace({'{':'','}':''},regex=True) 

请您参考如下方法:

只需使用正确的正则表达式:

df.withColumn("A", regexp_replace("A", "[{}]", ""))