Ich habe eine Textdatei mit Byte Order Mark (U + FEFF) am Anfang. Ich versuche, die Datei in R zu lesen. Ist es möglich, die Byte-Bestellmarke zu vermeiden?Lesen einer UTF-8-Textdatei mit BOM
Die Funktion fread
(aus dem Paket data.table
) liest die Datei, fügt aber ļ»æ
am Anfang des ersten Variablenname:
> names(frame_pers)[1]
[1] "ļ»æreg_date"
Das gleiche mit read.csv
Funktion ist.
Derzeit habe ich eine Funktion gemacht, die die Stückliste aus dem ersten Spaltennamen entfernt, aber ich glaube, es sollte eine Möglichkeit geben, wie die Stückliste automatisch entfernt wird.
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 die native Codierung für die R-Sitzung mit:
> options("encoding" = "")
> options("encoding")
$encoding
[1] ""
auch nicht für mich arbeiten. Meine Rohdaten sehen aus wie "31.1" beim Kopieren-Einfügen von Notepad ++, aber in R mit Fread teilt es sich in 2 Spalten, und mit read.csv bekomme ich als Präfix "ï» ¿"(mit as.is = TRUE). Ich benutzte autohotkey und convert2txt, um ocr von einer GUI-Anzeige zu erhalten, und ich schrieb es in die Datei. Das gibt mir das Problem, dass "31.2" zu "ï" .331 " – EngrStudent