2012-11-22 111 views
11

在R中,如何驗證write.csv(my.data.frame, file='test.csv')是否成功,而無需再次重新讀取?它似乎沒有任何回報。我正在考慮做一個file.exists('test.csv'),然後抓取write.csv()前後的時間戳,並檢查文件上的時間戳在兩者之間?有什麼建議麼?檢查R中的write.csv是否成功

+1

你可以看第幾行'readLines',看看是否列名匹配(或有更復雜的測試)。 –

+2

如果文件被寫入(在這種情況下,'file.exists'本身就可以工作),您是否更感興趣?或者你想知道它是否正確寫入? –

+0

好點@ sebastian-c - 真的我想我只是想給用戶提供反饋,如果他們傳遞了錯誤的文件位置,或者沒有空間或沒有權限或類似的東西。所以阿里的答案看起來像是一個強有力的競爭者。 – Sean

回答

15

您可以使用該功能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"