Добавление данных к существующим данным с текущей датой в R Automation - PullRequest
0 голосов
/ 08 мая 2018

У меня есть файл CSV, который имеет два столбца Имя и Номер, этот CSV генерируется ежедневно, я хочу иметь одну переменную и добавлять данные, которые я получаю каждый день, к этой переменной с текущей датой для целей записи. Необходимо автоматизировать этот процесс как ежедневную задачу. То, что я сделал, ниже.

Предположим, что это первые данные

   name  number  
1    a      1    
2    b      2    
3    c      3    
4    d      4    
5    e      5    
6    f      6     

добавила дату к этим данным таким образом

   df <- cbind(df,Date = march8)  //march8 has date of this day

После добавления даты

   name   number     Date
1    a      1    2018-05-08
2    b      2    2018-05-08
3    c      3    2018-05-08
4    d      4    2018-05-08
5    e      5    2018-05-08
6    f      6    2018-05-08

и теперь я хочу добавить к этим данным другие данные текущей даты

Мои новые данные

   name  number 
1    l      3 
2    c      4 
3    a      5 
4    c      6 
5    d      4 
6    g      2

Снова добавление даты.

df1 <- cbind(df1,Date = Sys.Date())

После добавления даты

  name number   Date
1    l      3  2018-05-09
2    c      4  2018-05-09
3    a      5  2018-05-09
4    c      6  2018-05-09
5    d      4  2018-05-09
6    g      2  2018-05-09

И наконец

 df <- rbind(df,df1)

После объединения

     name number  Date
  1    a      1   2018-05-08
  2    b      2   2018-05-08
  3    c      3   2018-05-08
  4    d      4   2018-05-08
  5    e      5   2018-05-08
  6    f      6   2018-05-08
  7    l      3   2018-05-09
  8    c      4   2018-05-09
  9    a      5   2018-05-09
 10    c      6   2018-05-09
 11    d      4   2018-05-09
 12    g      2   2018-05-09

Делая это каждый день, есть ли лучший способ автоматизировать весь этот процесс. Надеюсь, я сделал мой вопрос ясным и понятным, и извините за публикацию такого длинного вопроса.

Thankyou.

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Пример данных и настройка wd ()

  xy = data.frame(Date = Sys.Date()-1, matrix(runif(5*6), ncol = 6))
  setwd(....)

запись в первый раз с использованием write.csv

  write.csv(xy,"data.csv", row.names=F)

Позже используйте write.table

  xy = data.frame(Sys.Date(), matrix(runif(5*6), ncol = 6))
  write.table(xy, file="data.csv", sep = ",", append = T, col.names = F, row.names=F)
0 голосов
/ 08 мая 2018

Если предполагается, что он запускается на сервере, попробуйте использовать что-нибудь вроде Linux cron для ежедневного вызова bash-скрипта. В скрипте bash вы можете вызвать свой Rscript, чтобы добавить новые данные в файл CSV.

...