如何使用基本 HTTP 身份验证从 URL 下载大型 csv 文件到 R 数据框中

How to download a large csv file from a URL with basic HTTP authentication into a data frame with R

我正在努力检索一个非常大的 (4gb) csv 文件,该文件受使用 R 的基本 HTTP 身份验证保护。使用以下代码接收响应没有问题:

library(httr)
get_resp <- GET(url, authenticate(user, pass), content_type("text/csv"))

但是当我尝试调用时:

data <- content(get_resp)

我收到一条错误消息,指出 R 字符串限制为 2^3100000 字节或其他。我需要将文本数据放入数据框中进行分析。谁能提出替代解决方案?

看来你有问题 describe here。建议只使用 write_disk 函数来下载数据,而不是将其加载到 R 中。

类似

tmp <- tempfile()
GET(url, authenticate(user, pass), content_type("text/csv"), write_disk(tmp))
paste("Data downloaded to", tmp)

然后您可以执行其他操作以将块读入 R 或在导入之前拆分文件。