【问题标题】:pyspark best way to remove control characters from data in all columnspyspark 从所有列中的数据中删除控制字符的最佳方法
【发布时间】:2020-05-08 16:11:49
【问题描述】:

我有一个数据框,其中的列包含回车符、换行符和制表符。我找到了一个关于熊猫解决方案的帖子:

replace(to_replace=[r"\\t|\\n|\\r", "\t|\n|\r"], value=["",""], regex=True, inplace=<INPLACE>)

如何在 spark 数据框中执行此操作?

【问题讨论】:

标签: azure dataframe apache-spark databricks


【解决方案1】:

要替换回车、换行和制表符,可以使用\s

\s = [ \t\n\r\f\v]

您需要在所有数据框列中替换 pyspark 代码:

from pyspark.sql import functions as F

df = spark.createDataFrame([("\ttext1", 'text2\n', 'te\rxt3'), ("text1\t", '\ntext2', 't\rext3')], ['col1', 'col2', 'col3'])

expr = [F.regexp_replace(F.col(column), pattern="\s+", replacement=",").alias(column) for column in df.columns]

df.select(expr).show()

+------+------+------+
|  col1|  col2|  col3|
+------+------+------+
|,text1|text2,|te,xt3|
|text1,|,text2|t,ext3|
+------+------+------+

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 2010-12-01
    • 1970-01-01
    • 2019-04-08
    • 2013-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多