【问题标题】:Loading csv file from Private GitHub repo using httr使用 httr 从 Private GitHub repo 加载 csv 文件
【发布时间】: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


    【解决方案1】:

    有时你必须提出一个问题才能找到答案:

    x=GET(url, authenticate(Sys.getenv("GITHUB_PAT1"), ""))
    content(x, type="text/csv")
    

    content() 中使用type 参数设置MIME 类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-30
      • 2023-03-25
      • 2023-04-04
      • 1970-01-01
      • 2021-10-03
      相关资源
      最近更新 更多