Apache spark 在Pyspark数据帧中修剪

Apache spark 在Pyspark数据帧中修剪,apache-spark,pyspark,spark-dataframe,Apache Spark,Pyspark,Spark Dataframe,我有一个Pyspark数据框(原始数据框),包含以下数据(所有列都有字符串数据类型)。在我的用例中,我不确定这个输入数据框中的所有列都是什么。用户只需将dataframe的名称传递给我,并要求我修剪此dataframe的所有列。典型数据帧中的数据如下所示: id Value Value1 1 "Text " "Avb" 2 1504 " Test"

我有一个Pyspark数据框(原始数据框),包含以下数据(所有列都有字符串数据类型)。在我的用例中,我不确定这个输入数据框中的所有列都是什么。用户只需将dataframe的名称传递给我,并要求我修剪此dataframe的所有列。典型数据帧中的数据如下所示:

  id              Value         Value1
   1               "Text "       "Avb"
   2               1504         " Test"
   3               1               2
不管怎样,我都可以做到这一点,而不必依赖于此数据框中的所有列,并在此数据框中修剪所有列。修剪数据框的所有列后的数据应如下所示

   id             Value        Value1
   1               "Text"       "Avb"
   2               1504         "Test"
   3               1               2

有人能帮我吗?如何使用Pyspark dataframe实现它?任何帮助都将不胜感激。

您可以在DataFrame API中使用dtypes函数来获取克隆名称及其数据类型的列表,然后对所有字符串列使用“trim”函数来修剪值

问候,


Neeraj

您可以在DataFrame API中使用dtypes函数来获取Cloumn名称及其数据类型的列表,然后对所有字符串列使用“trim”函数来修剪值

问候,

Neeraj

输入:

df.show()

+---+-----+------+
| id|Value|Value1|
+---+-----+------+
|  1|Text |   Avb|
|  2| 1504|  Test|
|  3|    1|     2|
+---+-----+------+
代码:

输出:

df.show()

+---+-----+------+
| id|Value|Value1|
+---+-----+------+
|  1| Text|   Avb|
|  2| 1504|  Test|
|  3|    1|     2|
+---+-----+------+
输入:

代码:

输出:

df.show()

+---+-----+------+
| id|Value|Value1|
+---+-----+------+
|  1| Text|   Avb|
|  2| 1504|  Test|
|  3|    1|     2|
+---+-----+------+
在@osbon123的答案中使用trim()函数

from pyspark.sql.functions import trim

for c_name in df.columns:
    df = df.withColumn(c_name, trim(col(c_name)))
在@osbon123的答案中使用trim()函数

from pyspark.sql.functions import trim

for c_name in df.columns:
    df = df.withColumn(c_name, trim(col(c_name)))
这是我见过的修剪所有列中所有空格的最干净(也是计算效率最高)的方法。如果希望用下划线替换空格,只需将
替换为
”\uquot

这是我见过的修剪所有列中所有空格的最干净(也是计算效率最高)的方法。如果希望用下划线替换空格,只需将
替换为
”\uquot