如何从pyspark中的Spark数据框的列中删除引号“”

时间:2019-11-08 08:24:15

标签: apache-spark pyspark

我有一个数据框。

SELECT * 
FROM [table1]  
WHERE [ColumName] LIKE '[^A-Za-z0-9]%' OR [ColumName] LIKE '%[^A-Za-z0-9]';

我希望它像:

+-------+-----+
|   Name|  age|
+-------+-----+
|  "aaa"|  111|
|"asasa"| 8888|
| "2323"|  999|
|"wewwe"|99999|
+-------+-----+

我如何使用pyspark代码在SPark2中实现这一目标。

如有任何解决方案,请回复。在此先感谢:)

1 个答案:

答案 0 :(得分:1)

from pyspark.sql.functions import *
newDf = df.withColumn('Name', regexp_replace('Name', '"', ''))

快速说明:

  • 调用withColumn函数将一列添加(或替换,如果名称存在)到数据框。
  • 函数regexp_replace将通过替换所有与模式匹配的子字符串来生成新列。