Чтение CSV из URL - PullRequest
       8

Чтение CSV из URL

0 голосов
/ 14 ноября 2018

Я использую вызов API для загрузки данных Google Analytics в формате csv (без имени файла). Я использую следующий код, который позволяет увеличить время ожидания (здесь URL-адрес является просто нефункциональным примером).

fy18url <- "https://supermetrics.com/api/q/......lLF_P"
#Set options and open connection to get data
options(timeout = 300)
conn <- url(fy18url)
open(conn, "r")
gadata <- read.csv(conn, check.names=FALSE)
close(conn)

Однако, когда я запускаю этот код, он выдает ошибку (первый раз) со следующим сообщением.

> open(conn, "r")
Error in open.connection(conn, "r") : cannot open the 
connection
In addition: Warning message:
In open.connection(conn, "r") :
InternetOpenUrl failed: 'The operation timed out'
> gadata <- read.csv(conn, check.names=FALSE)
Error in open.connection(file, "rt") : cannot open the 
connection
In addition: Warning message:
In open.connection(file, "rt") :
InternetOpenUrl failed: 'The operation timed out'
> close(conn)

Если я снова запускаю тот же код, он работает нормально, и я получаю все данные. Есть идеи, что вызвало это?

Я думал об использовании цикла для проверки данных и его повторного запуска при отсутствии данных, но хотел бы получить более простое решение. Спасибо.

1 Ответ

0 голосов
/ 17 ноября 2018

Спасибо за все предложения. Вот что сейчас работает для меня.

fy18url <- "https://supermetrics.com/api/q/......."
#Set options
set_config(config(ssl_verifypeer = 0L))
data <- GET(fy18url, timeout(300))
gadata <- read.csv(textConnection(content(data, as = "text")), check.names=FALSE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...