使用 HTTR GET 请求从 github 下载 .csv 文件

Download .csv file from github using HTTR GET request

我正在尝试使用 GET 函数在 [=25= 中创建自动拉入 R ]HTTR 位于 github.

的 csv 文件包

这是我正在尝试下载的 table。

https://github.com/CSSEGISandData/COVID-19/blob/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Confirmed.csv

我可以使用以下 GET 请求连接到文件:

library(httr)

x <- httr::GET("https://github.com/CSSEGISandData/COVID-19/blob/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Confirmed.csv")

但是我不确定如何将其转换为类似于 github 上的 table 的数据框。

如有任何帮助,我们将不胜感激。

我是 R 的新手,但这是我的解决方案。

您需要使用来自 github (raw.githubusercontent.com) 的 csv 文件的原始版本!

library(httr)

x <- httr::GET("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Confirmed.csv")

# Save to file
bin <- content(x, "raw")
writeBin(bin, "data.csv")

# Read as csv
dat = read.csv("data.csv", header = TRUE, dec = ",")

colnames(dat) = gsub("X", "", colnames(dat))

# Group by country name (to sum regions)
# Skip the four first columns containing metadata 
countries = aggregate(dat[, 5:ncol(dat)], by=list(Country.Region=dat$Country.Region), FUN=sum)

# Here is the table of the most recent total confirmed cases
countries_total = countries[, c(1, ncol(countries))]

The output graph

我是如何让它工作的:

  • How to sum a variable by group

这很简单:

res <- httr::GET("https://.../file.csv")
data <- httr::content(res, "parsed")

这需要 readr 包。

https://httr.r-lib.org/reference/content.html