5 special-characters str-replace apache-spark apache-spark-sql pyspark
我试图从所有列中删除所有特殊字符。我正在使用以下命令:
import pyspark.sql.functions as F
df_spark = spark_df.select([F.col(col).alias(col.replace(' ', '_')) for col in df.columns])
df_spark1 = df_spark.select([F.col(col).alias(col.replace('%', '_')) for col in df_spark.columns])
df_spark = df_spark1.select([F.col(col).alias(col.replace(',', '_')) for col in df_spark1.columns])
df_spark1 = df_spark.select([F.col(col).alias(col.replace('(', '_')) for col in df_spark.columns])
df_spark2 = df_spark1.select([F.col(col).alias(col.replace(')', '_')) for col in df_spark1.columns])
Run Code Online (Sandbox Code Playgroud)
是否有一种更简单的方法可以在一个命令中替换所有特殊字符(不仅仅是上面的 5 个)?我在 Databricks 上使用 PySpark。
您可以替换除 Az 和 0-9 之外的任何字符
import pyspark.sql.functions as F
import re
df = df.select([F.col(column_name).alias(re.sub("[^0-9a-zA-Z$]+", "", column_name)) for column_name in df.columns])
Run Code Online (Sandbox Code Playgroud)