微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 pyspark 替换 RDD 中的字符?

如何解决如何使用 pyspark 替换 RDD 中的字符?

我和 RDD 看起来像这样:

[['M5126','M5416','Z4789','Z01810','S060X6D','S9032XA','S96912A','S72002A','S61411A','W268XXA','Y9269','Z23'],['S62639B','M25512','M1712','M25612','M62512','S39012D','S39012A','M25511','Z98890','11','29','Z5189']]

如何将逗号替换为波浪号,使我的 RDD 看起来像这样:

['M51~ M541~ Z4789~ Z01810~ S060X6D~ S9032XA~ S96912~ S72002A~ S61411A~ W268XXA~ Y9269~ Z23~S62639B~ M25512~ M1712~ M25612~ M62512~ S39012D~ S39012A~ M25511~ Z98890~ 11~ 29~ Z5189']

rdd = rdd.map(lambda row: "~".join([str(cd) for cd in row])).reduce(lambda x,y: "~".join([x,y]))

但它使它成为一个长字符串。

解决方法

只需在连接字符串中添加一个空格...?

result = [rdd.map(lambda row: "~ ".join([str(cd) for cd in row])).reduce(lambda x,y: "~ ".join([x,y]))]

给出

['M5126~ M5416~ Z4789~ Z01810~ S060X6D~ S9032XA~ S96912A~ S72002A~ S61411A~ W268XXA~ Y9269~ Z23~ S62639B~ M25512~ M1712~ M25612~ M62512~ S39012D~ S39012A~ M25511~ Z98890~ 11~ 29~ Z5189']

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。