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

nag*_*rti 2 apache-spark apache-spark-sql pyspark

我有一个数据框。

+-------+-----+
|   Name|  age|
+-------+-----+
|  "aaa"|  111|
|"asasa"| 8888|
| "2323"|  999|
|"wewwe"|99999|
+-------+-----+
Run Code Online (Sandbox Code Playgroud)

我希望它像:

+-------+-----+
|   Name|  age|
+-------+-----+
|  aaa  |  111|
| asasa | 8888|
| 2323  |  999|
| wewwe |99999|
+-------+-----+
Run Code Online (Sandbox Code Playgroud)

如何使用 pyspark 代码在 Spark 2 中实现这一点?

如果有解决办法,请回复。

Mer*_*ial 6

from pyspark.sql.functions import *
newDf = df.withColumn('Name', regexp_replace('Name', '"', ''))
Run Code Online (Sandbox Code Playgroud)

快速解释:

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