2012-11-22 9 views
11

In R, wie kann ich überprüfen, dass write.csv(my.data.frame, file='test.csv') erfolgreich war, ohne es erneut einlesen? Es scheint nichts zurückzugeben. Ich dachte daran, eine file.exists('test.csv') zu machen und dann einen Zeitstempel vor und nach der write.csv() zu nehmen und zu überprüfen, dass der Zeitstempel auf der Datei zwischen den beiden liegt? Irgendwelche Vorschläge?Überprüfung auf Erfolg von write.csv in R

+1

Sie könnten die ersten paar Zeilen mit 'readLines' lesen und sehen, ob Spaltennamen übereinstimmen (oder einen komplizierteren Test haben). –

+2

Interessieren Sie sich mehr dafür, wenn die Datei geschrieben wurde (in diesem Fall funktioniert 'file.exists' alleine)? Oder möchtest du wissen, ob es richtig geschrieben wurde? –

+0

Guter Punkt @ sebastian-c - wirklich Ich denke, ich möchte nur dem Benutzer Feedback geben, wenn sie einen schlechten Speicherort der Datei weitergegeben haben, oder es gab keinen Platz oder keine Berechtigungen oder so etwas. Alis Antwort unten sieht daher so aus, als wäre es ein starker Anwärter. – Sean

Antwort

15

können Sie verwenden, um die Funktion try():

res <- try(write.csv(1:100, "SOME GOOD PATH/temp.csv")) 
is.null(res) 
# [1] TRUE 
res <- try(write.csv(1:100, "SOME BAD PATH/temp.csv")) 
is.null(res) 
# [1] FALSE 
class(res) 
# [1] "try-error" 
Verwandte Themen