2012-11-22 42 views
11

Trong R, làm thế nào để tôi xác minh rằng write.csv(my.data.frame, file='test.csv') đã thành công mà không cần đọc lại nó một lần nữa? Nó dường như không trả lại bất cứ điều gì. Tôi đã nghĩ đến việc làm một file.exists('test.csv') và sau đó lấy một dấu thời gian trước và sau write.csv() và kiểm tra dấu thời gian trên tệp là giữa hai? Bất kỳ đề xuất?kiểm tra thành công của write.csv trong R

+1

Bạn có thể đọc vài dòng đầu tiên với 'readLines' và xem nếu tên cột trận đấu (hoặc có một bài kiểm tra phức tạp hơn). –

+2

Bạn có hứng thú hơn nếu tập tin được viết (trong trường hợp đó 'file.exists' sẽ tự hoạt động)? Hay bạn muốn biết nếu nó được viết chính xác? –

+0

Điểm tốt @ sebastian-c - thực sự tôi cho rằng tôi chỉ muốn cung cấp phản hồi cho người dùng nếu họ đã chuyển xuống một vị trí tệp kém hoặc không có không gian hoặc không có quyền hoặc điều gì đó tương tự. Vì vậy, câu trả lời của Ali dưới đây có vẻ như nó là một ứng cử viên mạnh mẽ. – Sean

Trả lời

15

Bạn có thể sử dụng chức năng 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" 
Các vấn đề liên quan