【问题标题】:Remove special characters from column names using pyspark dataframe使用 pyspark 数据框从列名中删除特殊字符
【发布时间】:2020-08-06 06:11:40
【问题描述】:

我正在尝试使用 pyspark-sql 读取 csv 文件,大多数列名都有特殊字符。我想使用 pyspark 数据框删除所有列名中的特殊字符。是否有任何特定功能可用于一次删除所有列名的特殊字符?感谢您的回复。

【问题讨论】:

    标签: pyspark apache-spark-sql pyspark-dataframes


    【解决方案1】:

    尝试使用 regular expression replace 替换所有特殊字符,然后使用 .toDF()

    Example:

    df=spark.createDataFrame([('a','b','v','d')],['._a','/b','c ','d('])
    import re
    cols=[re.sub("(_|\.|\(|\/)","",i) for i in df.columns]
    df.toDF(*cols).show()
    #+---+---+---+---+
    #|  a|  b| c |  d|
    #+---+---+---+---+
    #|  a|  b|  v|  d|
    #+---+---+---+---+
    

    Using .withColumnRenamed():

    for i,j in zip(df.columns,cols):
        df=df.withColumnRenamed(i,j)
    
    df.show()
    #+---+---+---+---+
    #|  a|  b| c |  d|
    #+---+---+---+---+
    #|  a|  b|  v|  d|
    #+---+---+---+---+
    

    【讨论】:

      猜你喜欢
      • 2020-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2018-04-16
      • 2020-06-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多