Lesen Sie eine Textdatei in UTF-8 mit BOM
Ich habe eine text-Datei mit dem Byte order mark (U+FEFF) am Anfang. Ich versuche die Datei zu Lesen, in R. Ist es möglich zu vermeiden, die Byte order mark?
Die Funktion fread
(aus der data.table
Paket) liest die Datei ein, fügt aber hinzu ļ»æ
am Anfang der ersten Variablen-name:
> names(frame_pers)[1]
[1] "ļ»æreg_date"
Das gleiche ist mit read.csv
Funktion.
Derzeit habe ich eine Funktion, die entfernt die Stückliste aus der ersten Spalte Namen, aber ich glaube, es sollte eine Möglichkeit wie man automatisch Streifen der Stückliste.
remove.BOM <- function(x) setnames(x, 1, substring(names(x)[1], 4))
> names(frame_pers)[1]
[1] "ļ»æreg_date"
> remove.BOM(frame_pers)
> names(frame_pers)[1]
[1] "reg_date"
Ich bin mit der nativen Codierung für den R-Sitzung:
> options("encoding" = "")
> options("encoding")
$encoding
[1] ""
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie versucht
read.csv(..., fileEncoding = "UTF-8-BOM")
?.?file
sagt:Diese behandelt wurde zwischen den Versionen 1.9.6 und 1.9.8 mit diese verpflichten; update Ihrer
data.table
- installation, um dieses Problem zu beheben.Sobald Sie dies getan haben, können Sie einfach
fread
: