Я пытаюсь перечитать файлы размером 80 csv размером от 350 до 400 МБ (не одновременно).Я использовал trycatch для обработки исключений, т. Е. Если какой-либо один файл имеет ненормальные значения, то для продолжения цикла, но либо он не выполняет оставшуюся часть цикла, либо показывает, что сеанс прерван и перезапускается сеанс R.
Приведенный ниже код не выдает ошибки, но не выполняется полностью.
Today <- Sys.Date()
for(k in 1:length(Dir)){
for(i in 1:length(server_name)){
setwd(Dir[[k]])
myFiles <- list.files(pattern= server_name[i])
Data <- data.table()
Data <- tryCatch ((fread(myFiles,sep=",",header=TRUE,showProgress = TRUE,verbose=TRUE,fill=TRUE)), error= function(err){
errMess <- paste0("Not available -" , myFiles)
write(errMess, "error_log.txt")
})
if (nrow(Data)!=0) {
##list of actions to be executed
setwd("C:/D Drive data/Enrichment/RDS File1")
saveRDS(Data, file = paste0(Today,"_",server_name[i], ".RDS"))
}
}
Today <- Today - 1
}
Если я не обработаю исключения, тогда сеанс ошибки R прервется и перезапустится.