файл Fread с ненормальным значением и R-сеанс прерван - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь перечитать файлы размером 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 прервется и перезапустится.

...