我正在尝试删除所有列中的所有特殊字符。我使用以下命令:
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])
字符串
有没有更简单的方法可以在一个命令中替换所有特殊字符(不仅仅是上面的5个)?我在Databricks上使用PySpark。
4条答案
按热度按时间h9vpoimq1#
您可以替换除A-z和0-9以外的任何字符
字符串
vfh0ocws2#
在python中使用re(regex)模块和
list comprehension
。Example:
字符串
gwbalxhn3#
**
re.sub('[^\w]', '_', c)
**将标点符号和空格替换为_
下划线。测试结果:
字符串
删除标点符号+使用
_
代替空格:re.sub('[^\w ]', '', c).replace(' ', '_')
个bybem2ql4#
也许这是有用的-
字符串