将spark dataframe列拆分为,而不是拆分为\,

jdgnovmf  于 2021-05-16  发布在  Spark
关注(0)|答案(1)|浏览(653)

我有一个spark数据框,其中包含逗号(,)分隔的值,实现和转义字符“,”如何在不拆分转义字符的情况下拆分该值?

2izufjch

2izufjch1#

可以使用负lookbehind regex对转义逗号进行转义:

df.show(truncate=False)
+------------------------------------------------------+
|value                                                 |
+------------------------------------------------------+
|value1,value2,value3,value4\,donot split,value5,value6|
+------------------------------------------------------+

df.select(F.split(F.col('value'), "(?<!\\\\),")).show(truncate=False)
+-------------------------------------------------------------+
|split(value, (?<!\\),, -1)                                   |
+-------------------------------------------------------------+
|[value1, value2, value3, value4\,donot split, value5, value6]|
+-------------------------------------------------------------+

相关问题