R/leer_datos.R

Defines functions leerDatos

#' Title
#'
#' @param config 
#' @param path 
#'
#' @return
#' @export
#'
#' @examples

#Funcion para leer csv
leerDatos <- function(config, path){

#pathDatos hasta el csv: aƱado "data/" al path y el nombre del csv de la etiqueta name del xml
  pathDatos <- paste0(path, "/data/", config$input$csvs)
  
  browser()

  
  tryCatch(expr = {

#Paquete data.table. Funcion fread para leer el csv con pathDatos, sep(etiqueta del xml).
#data.table=False para que genere un dataframe. Lo guarda como 'datos'
    filenames <- c()
    
    for (i in pathDatos){
      
      filename <- strsplit(basename(i),'.csv')
      #filename <- strsplit(basename(i),',')
      
      filenames <- c(filenames, filename)
    }
    
    list_df <- c()
    
    for (i in pathDatos){
      print(i)
      datos <-data.table::fread(i, sep = config$input$sep, encoding = 'UTF-8',
                                data.table = FALSE, header = TRUE)

      list_df[[length(list_df) + 1]] <- datos}
    
    names(list_df) <- filenames
    
    
   
    
  }, error = function(e){

#log de errores   
    logerror("Datos no encontrados en su ruta. Verifica el archivo datos",
             logger = 'log')
    stop()
  })
  #si las filas o columnas del dataframe 'datos' estan vacias generar error de datos mal leidos
  if (nrow(datos) == 0 | ncol(datos) == 0){
    
    logerror("Datos mal leidos, verifica que tengan el formato correcto.",
             logger = 'log')
    stop()
    
  }
#si no hay errores, devolver el dataframe 'datos'  
  #return(datos)
  return(list_df)
}
Mariacagi/R_project documentation built on Feb. 22, 2021, 3:59 a.m.