データフレームの列から特殊文字(å)を削除しようとしています。データフレームの列から特殊文字を削除します
のように私のデータが見えます:私の元のデータが約私が必要、そこからサイズが8TBさ
のClientID、PatientID
AR0001å、DH_HL704221157198295_91
AR00022、DH_HL704221157198295_92
この特殊文字を取り除く。データをロードする
コード:
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)で解決策を見つけることができません。
お返事ありがとうございます。データからすべての特殊文字を削除することはできません。データには、®などの特殊文字の一部が意味を持つ列はほとんどありません。私は何を保持し、何を削除するかを指示するサブセットを持っていません。特定の列から特定の特殊文字を削除する必要があります。 – abhiadh
@abhiadh 'regexp_replace(df.col(" ClientID ")、"Ã¥ "、" ")は、ISO-8859-1(スカラ付)を使用しているときに機能しているようです。 – Shaido
本当にうまくいきました。私は特殊文字 "å"を関数に渡す前に変換していました。 '新しい文字列("å ".getBytes(" UTF-8 ")、" ISO-8859-1 "); ' ありがとう – abhiadh