webentwicklung-frage-antwort-db.com.de

In read.table (): unvollständige letzte Zeile, die von readTableHeader gefunden wurde

Ich habe eine CSV, wenn ich versuche, diese Datei zu read.csv() zu bekommen. Ich erhalte die Warnmeldung:

In read.table(file = file, header = header, sep = sep, quote = quote,  :
  incomplete final line found by readTableHeader on ...

Und ich kann das Problem nicht isolieren, obwohl StackOverflow und R-help nach Lösungen durchsucht werden.

Dies ist der Dropbox-Link für die Daten: https://www.dropbox.com/s/h0fp0hmnjaca9ff/PING%20CONCOURS%20DONNES.csv

14
user3351370

Wie in Hendrik Pon erläutert, zeigt die Nachricht an, dass die letzte Zeile der Datei nicht mit einem Endzeichen (EOL) endet (Zeilenvorschub (\ n) oder Wagenrücklauf + Zeilenvorschub (\ r\n) ).

Die Abhilfe ist einfach:

  • Öffne die Datei
  • Navigieren Sie zur letzten Zeile der Datei
  • Platzieren Sie den Cursor am Ende dieser Zeile
  • Drücken Sie die Eingabetaste
  • Speicher die Datei

also hier ist Ihre Datei ohne Vorwarnung

df=read.table("C:\\Users\\Administrator\\Desktop\\tp.csv",header=F,sep=";")
 df
    V1               V2               V3               V4               V5               V6               V7               V8               V9              V10
1 Date 20/12/2013 09:04 20/12/2013 09:08 20/12/2013 09:12 20/12/2013 09:16 20/12/2013 09:20 20/12/2013 09:24 20/12/2013 09:28 20/12/2013 09:32 20/12/2013 09:36
2    1           1,3631           1,3632           1,3634           1,3633            1,363           1,3632           1,3632           1,3632           1,3629
3    2          0,83407          0,83408          0,83415          0,83416          0,83404          0,83386          0,83407          0,83438          0,83472
4    3           142,35           142,38           142,41            142,4           142,41           142,42           142,39           142,42            142,4
5    4           1,2263          1,22635          1,22628          1,22618          1,22614          1,22609          1,22624          1,22643           1,2265

Aber ich denke, Sie sollten nicht auf diese Weise lesen, weil Sie den Datenrahmen erneut umformen müssen, danke.

17
Aashu

Das gleiche Problem hatte ich beim Erstellen einer Datenmatrix in Notepad. Daher kam ich zur letzten Zeile der Datenmatrix und drückte die Eingabetaste. Jetzt habe ich eine "n" -Zeilen-Datenmatrix und eine neue leere Zeile mit dem Cursor am Anfang von "n + 1" -Zeile . Problem gelöst. 

2
aditya harbola

Ich hatte das gleiche Problem mit den XLS-Dateien .. Meine Lösung besteht darin, die Datei als tabulatorbegrenzte TXT-Datei zu speichern. Dann können Sie die Erweiterung .txt auch manuell in .xls ändern. Anschließend können Sie den Datenrahmen mit read.delim öffnen.

Dies ist ein sehr unhöflicher Weg, das Problem trotzdem zu lösen.

1
Quechua

Dies ist keine CSV-Datei. Jede Zeile ist eine Spalte. Sie können sie manuell analysieren, z. B .:

file <- '~/Downloads/PING CONCOURS DONNES.csv'
lines <- readLines(file)
columns <- strsplit(lines, ';')
headers <- sapply(columns, '[[', 1)
data <- lapply(columns, '[', -1)
df <- do.call(cbind, data)
colnames(df) <- headers
print(head(df))

Beachten Sie, dass Sie die Warnung ignorieren können, da das letzte Zeilenende fehlt.

0
Karl Forner