如何使用 pyspark 从 Dataframe 列中删除方括号

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

我有 Dataframe df ,列名称是如下文本,我想从中删除方括号 输入

[gh].[ijdnd]
[hyf]
dfvc.gfth
[]
[
 ]

输出

gh.ijnd
hyf
dfvc.gfth
null
null
null
pyspark apache-spark-sql
1个回答
0
投票

让我们使用

regexp_replace
用空字符串替换方括号,然后用 null 屏蔽空值

r = F.regexp_replace('text', r'\[|\]', '')
r = F.when(r == '', F.lit(None)).otherwise(r)
result = df.withColumn('text', r)

+---------+
|     text|
+---------+
| gh.ijdnd|
|      hyf|
|dfvc.gfth|
|     NULL|
|     NULL|
|     NULL|
+---------+
© www.soinside.com 2019 - 2024. All rights reserved.