R/entsoe_reader.R

#Copyright © 2018 RTE Réseau de transport d’électricité

#' @importFrom fasttime fastPOSIXct
entsoe_dir_reader <- function(dir, datetime_col, submissin_col,
                              drops = character(0), id_vars,
                              sep = "\t"){

  agg_files <- list.files(dir, pattern = "(\\.csv)$", full.names = TRUE)

  data <- rbindlist( lapply(agg_files, function(f){
    data <- fread(input = f, sep = "\t", header = TRUE, drop = drops )
    filter_ <- grepl("00:00\\.000", data[[datetime_col]])
    data[filter_,]
  } ) )

  data <- setorderv(data, cols = c(id_vars, submissin_col))
  data <- unique(data, by = id_vars, fromLast = TRUE )
  data[[submissin_col]] <- NULL

  data <- data[, (datetime_col) := lapply(.SD, function(x) fastPOSIXct(x, required.components = 6L, tz = "GMT") ), .SDcols = datetime_col]
  data
}
rte-antares-rpackage/antaDraft documentation built on May 14, 2019, 2:59 p.m.