我将尝试从数据框中的一列中删除特殊字符(å)。
我的数据如下:
ClientID,PatientID
AR0001å,DH_HL704221157198295_91
AR00022,DH_HL704221157198295_92
我的原始数据大约有8TB大小,我需要去掉这个特殊字符。
加载数据的代码:
reader.option("header", true)
.option("sep", ",")
.option("inferSchema", false)
.option("charset", "ISO-8859-1")
.schema(schema)
.csv(path)
在将数据加载到数据框后,当我执行df.show()
时,它显示:
+--------+--------------------+
|ClientID| PatientID|
+--------+--------------------+
|AR0001Ã¥|DH_HL704221157198...|
|AR00022 |DH_HL704221157198...|
+--------+--------------------+
我试图使用以下代码替换此字符:
df.withColumn("ClientID", functions.regexp_replace(df.col("ClientID"), "\å", ""));
但这并没有起作用。如果我将数据加载到数据框中并将字符集更改为“UTF-8”,它将起作用。
我无法找到当前字符集(ISO-8859-1)的解决方案。
regexp_replace(df.col("ClientID"), "Ã¥", "")
对我有效。 - Shaidonew String("å".getBytes("UTF-8"), "ISO-8859-1");
谢谢。 - abhiadh