我正在从data.gov网站下载数据,在这个过程中我得到了以下两种类型的错误:
fileUrl <- "http://catalog.data.gov/dataset/expenditures-on-children-by-families"
download.file(fileUrl,destfile=".data/studentdata.csv",method="curl")
Warning message:
In download.file(fileUrl, destfile = ".data/studentdata.csv", method = "curl") :
download had nonzero exit status我尝试按照其他论坛中的建议删除method="curl“,但是我再次收到这个新的错误
download.file(fileUrl,destfile=".data/studentdata.csv")
Error in download.file(fileUrl, destfile = ".data/studentdata.csv") :
cannot open destfile '.data/studentdata.csv', reason 'No such file or directory'发布于 2019-04-12 23:42:17
我认为有两个主要因素导致你的curl不能很好地工作。
First,问题出在你的网址上。fileUrl <- "http://catalog.data.gov/dataset/expenditures-on-children-by-families"。在您的URL中,它没有引用到csv文件。因此,即使将目标设置为destfile = ".data/studentdata.csv"等csv文件,它们也不起作用
我有一个使用相同代码(不同的数据集)获取csv数据集的示例:
DataURL<- "https://data.baltimorecity.gov/api/views/dz54-2aru/rows.csv?accessType=DOWNLOAD" (此链接指向使用curl)的rows.csv file)
download.file(DataURL, destfile="./data/rows.csv", method="curl") (方法完全相同第二个,之前我有同样的问题,curl不工作,即使我使用了一个正确的网址,引用一个csv文件。然而,当我进行更深入的诊断时,我发现了一些有趣的事实,为什么我的curl方法不能正常工作。那是我的R会话程序。我使用了32-bit R,其中出现了错误。后来,我尝试将会话更改为64-bit R。令人惊讶的是,当时下载状态为running。要查看您的R会话架构(无论您使用的是32-bit还是64-bit),请键入您的R:
sessionInfo()R版本3.5.3 (2019-03-11)
平台: x86_64-w64-ming32/x64 (64位)
运行环境: Windows >= 8 x64 (build 9200)
您必须将R,从32-bit切换到64-bit,以避免'curl' call had nonzero exit status。您转到R目录文件夹,然后运行64-bit R。
如果您使用的是Windows并将R安装在默认路径文件夹中,则可以运行此C:\Program Files\R\R-3.5.3\bin\x64\R.exe。(我使用的是3.5.3版本,因此可能与您的版本不同)
如果您使用的是R-studio,则可以在menubar Tools -> Global Options -> R version -> Change -> Use your machine's default version of R64 (64-bit) -> OK上切换R会话。然后重新启动R-studio。
但是,这取决于您的操作系统架构。如果你使用的是32-bit操作系统,因此你必须找到另一种方法来解决这个问题。
发布于 2014-03-16 02:14:26
因此,查看download.file(...)的代码,如果您指定method="curl",该函数将尝试使用curl外壳命令。如果您的系统上不存在此命令,您将收到上面的错误。
如果不指定方法,则默认使用内部R方法进行下载,这显然适用于您的系统。在这种情况下,该函数试图将文件放在.data/studentdata.csv中,但显然没有.data目录。试着把.拿出来。
当此下载生效时,您将获得text/html文件,而不是csv文件。您的url指向网页,而不是下载链接。该页面确实有一个下载链接,但不幸的是它是一个pdf,而不是一个csv。
最后,如果您的目标是将数据放在R中(是吗?),并且如果链接实际生成csv文件,则可以更容易地使用
df <- read.csv(fileUrl)发布于 2014-05-26 00:48:47
如果我没弄错的话,这里只有一个简单的打字错误。我怀疑你有一个"data“目录,而不是一个".data”目录--在这种情况下,你唯一的问题是你的destfile字符串需要以"./data“开头,而不是".data”。
https://stackoverflow.com/questions/22424872
复制相似问题