Автоматическая загрузка файлов JSON через API с использованием R

import time
seconds_since_epoch = time.mktime(your_datetime.timetuple()) * 1000
1
задан cbool 16 January 2019 в 12:22
поделиться

1 ответ

Нечто подобное может сделать это

library("rjson")
json_file <- "https://api.coindesk.com/v1/bpi/currentprice/USD.json"

numOfTimes <- 2L # how many times to run in total
sleepTime <- 60L  # time to wait between iterations (in seconds)
iteration <- 0L
while (iteration < numOfTimes) {
  # gather data
  json_data <- fromJSON(paste(readLines(json_file), collapse=""))
  # get json content as data.frame
  x = data.frame(json_data$time$updated,json_data$time$updatedISO,json_data$time$updateduk,json_data$bpi$USD)
  # create file to save in 'C:/Myfolder' 
  # alternatively, create just one .csv file and update it in each iteration
  nameToSave <- nameToSave <- paste('C:/Myfolder/', 
                                     gsub('\\D','',format(Sys.time(),'%F%T')), 
                                    'json_data.csv', sep = '_')
  # save the file
  write.csv(x, nameToSave)
  # update counter and wait 
  iteration <- iteration + 1L
  Sys.sleep(sleepTime)
}    

Обратите внимание, что для этого требуется открыть сеанс R (можно создать файл .exe или .bat и запустить его в фоновом режиме) ).

0
ответ дан niko 16 January 2019 в 12:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: