Ich versuche, ein Sonderzeichen (å) aus einer Spalte in einem Datenrahmen zu entfernen.Sonderzeichen aus einer Spalte im Datenframe entfernen
Meine Daten wie folgt aussieht:
ClientID, Patienten_ID
AR0001å, DH_HL704221157198295_91
AR00022, DH_HL704221157198295_92
Meine ursprünglichen Daten ca. in der Größe 8 TB, von dem ich brauche um diesen besonderen Charakter loszuwerden.
-Code-Daten zu laden:
reader.option("header", true)
.option("sep", ",")
.option("inferSchema", false)
.option("charset", "ISO-8859-1")
.schema(schema)
.csv(path)
Nach in Datenrahmen geladen, wenn ich df.show()
tun es zeigt:
+--------+--------------------+ |ClientID| PatientID| +--------+--------------------+ |AR0001Ã¥|DH_HL704221157198...| |AR00022 |DH_HL704221157198...| +--------+--------------------+
-Code dieses Zeichen zu ersetzen:
df.withColumn("ClientID", functions.regexp_replace(df.col("ClientID"), "\å", ""));
Aber das hat nicht funktioniert. Während ich die Daten im Datenframe lade, wenn ich den Zeichensatz in "UTF-8" ändere, funktioniert es.
Ich finde keine Lösung mit dem aktuellen Zeichensatz (ISO-8859-1).
Danke für die Antwort. Ich kann nicht alle Sonderzeichen aus den Daten entfernen. Es gibt wenige Spalten in den Daten, in denen einige dieser Sonderzeichen wie ® Bedeutung haben. Ich habe keine Subsets, die sagen, was zu behalten und was zu entfernen ist. Die Anforderung besteht darin, ein bestimmtes Sonderzeichen aus einer bestimmten Spalte zu entfernen. – abhiadh
@abhiadh 'regexp_replace (df.col (" ClientID ")," Ã ¥ "," ") scheint bei ISO-8859-1 (mit scala) für mich zu arbeiten. – Shaido
Ja, das hat tatsächlich funktioniert. Ich habe das Sonderzeichen "å" umgewandelt, bevor ich zur Funktion übergegangen bin und es hat funktioniert. 'neue Zeichenfolge (" å ".getBytes (" UTF-8 ")," ISO-8859-1 ");' Danke – abhiadh