Удалите специальные символы из имен столбцов с помощью фрейма данных pyspark - PullRequest
2 голосов
/ 06 августа 2020
• 1000 1003 * доступна ли функция удаления специальных символов сразу для всех имен столбцов? Я ценю ваш ответ.

1 Ответ

1 голос
/ 06 августа 2020

Попробуйте использовать regular expressi на 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|
#+---+---+---+---+
...