Python pyspark:数据帧中列中逗号分隔字符串的第一个额外非空值
我有一个数据框,有两列id和电话号码,格式如下Python pyspark:数据帧中列中逗号分隔字符串的第一个额外非空值,python,pyspark,extract,Python,Pyspark,Extract,我有一个数据框,有两列id和电话号码,格式如下 id | phone_number 1 | ,1234567890,,0987654321, 2 |,7890123456,,9078651243, 我想拆分phone_number列,并在pyspark中的一个单独列中选择第一个非空值 结果数据帧应为 id | phone_number | extracted_phone 1 | ,1234567890,,0987654321, |1234567
id | phone_number
1 | ,1234567890,,0987654321,
2 |,7890123456,,9078651243,
我想拆分phone_number列,并在pyspark中的一个单独列中选择第一个非空值
结果数据帧应为
id | phone_number | extracted_phone
1 | ,1234567890,,0987654321, |1234567890
2 |,,,9078651243, |9078651243
使用
regexp\u replace()
删除前导空格和逗号,用逗号“,”分割,然后获取分割结果的第一个元素df.withColumn('extracted_phone',F.split(F.regexp_replace('phone_number',r'^[,\s]+','','','))[0])
谢谢。这很有效