Die read.csv-Warnung 'EOF in Anführungszeichen' verhindert das vollständige Lesen der Datei
ich habeeine CSV-Datei (24,1 MB) dass ich nicht vollständig in meine R-Sitzung einlesen kann. Wenn ich die Datei in einem Tabellenkalkulationsprogramm öffne, werden 112.544 Zeilen angezeigt. Wenn ich es in R mit leseread.csv
Ich erhalte nur 56.952 Zeilen und diese Warnung:
cit <- read.csv("citations.CSV", row.names = NULL,
comment.char = "", header = TRUE,
stringsAsFactors = FALSE,
colClasses= "character", encoding= "utf-8")
Warning message:
In scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
EOF within quoted string
Ich kann die ganze Datei in R mit einlesenreadLines
:
rl <- readLines(file("citations.CSV", encoding = "utf-8"))
length(rl)
[1] 112545
Aber ich kann das nicht als Tabelle in R zurückbekommen (viaread.csv
):
write.table(rl, "rl.txt", quote = FALSE, row.names = FALSE)
rl_in <- read.csv("rl.txt", skip = 1, row.names = NULL)
Warning message:
In scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
EOF within quoted string
Wie kann ich diese EOF-Nachricht (die eher ein Fehler als eine Warnung zu sein scheint) lösen oder umgehen, um die gesamte Datei in meine zu bekommen?R
Session?
Ich habe ähnliche Probleme mit anderen Methoden zum Lesen von CSV-Dateien:
require(sqldf)
cit_sql <- read.csv.sql("citations.CSV", sql = "select * from file")
require(data.table)
cit_dt <- fread("citations.CSV")
require(ff)
cit_ff <- read.csv.ffdf(file="citations.CSV")
Hier ist meine sessionInfo ()
R version 3.0.1 (2013-05-16)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] tools tcltk stats graphics grDevices utils datasets methods base
other attached packages:
[1] ff_2.2-11 bit_1.1-10 data.table_1.8.8 sqldf_0.4-6.4
[5] RSQLite.extfuns_0.0.1 RSQLite_0.11.4 chron_2.3-43 gsubfn_0.6-5
[9] proto_0.3-10 DBI_0.2-7