【发布时间】:2019-01-10 12:13:16
【问题描述】:
I have a column in pyspark dataframe which contain values separated by ;
+----------------------------------------------------------------------------------+
|name |
+----------------------------------------------------------------------------------+
|tppid=dfc36cc18bba07ae2419a1501534aec6fdcc22e0dcefed4f58c48b0169f203f6;xmaslist=no|
+----------------------------------------------------------------------------------+
因此,如果我使用此列,则可以在此列中出现任意数量的键值对
df.withColumn('test', regexp_extract(col('name'), '(?<=tppid=)(.*?);', 1)).show(1,False)
我可以提取 tppid,但是当 tppid 作为一行中的最后一个键值对出现时,它无法提取,我想要一个 regx,它可以提取一个键的值,只要它在一行中的位置。
【问题讨论】:
标签: python regex pyspark pyspark-sql