【发布时间】:2017-01-23 20:21:31
【问题描述】:
我想从私有 GitHub 存储库下载 csv 文件并将其加载到当前环境。我不想简单地read_csv("raw_git_url"),因为脚本将是公开的,复制/粘贴 raw_git_url 会给我留下filename.csv?token=AHh_HT3Aetc....,我不希望我的令牌号是公开的。
相反,我有一个 GitHub 身份验证令牌并将其作为 .Renviron 文件放入我的工作目录中。
我可以例如像这样将文件写入磁盘/工作目录:
library(httr)
url <- "https://raw.githubusercontent.com/username/privatereponame/master/dataname.csv"
GET(url, write_disk("mynew.csv", overwrite=TRUE))
但我不想写副本 - 只是让 csv 文件在当前环境中可用。我错过了一些明显的东西吗?将write_disk.... 更改为readr::read_csv 命令不起作用。
我可以做一件 hacky 的事情 - 像这样访问原始内容:
x=GET(url, authenticate(Sys.getenv("GITHUB_PAT1"), ""))
enc<-stringi::stri_enc_detect(content(x, "raw"))
content(x, "text", encoding = enc[[1]]$Encoding[1])
...然后编写一些脚本将文本转换为 csv....但这感觉太冗长了。
【问题讨论】:
标签: r