我正在尝试在R 3.0.1(Windows 7)中下载文件:
fileUrl <- "https://data.baltimorecity.gov/api/views/dz54-2aru/rows.csv?accessType=DOWNLOAD"
download.file(fileUrl, destfile="./data/cameras.csv", method="curl")
我检查了网址和我的互联网连接,他们似乎工作得很好。但是,我收到了这条消息:
Warning message:
In download.file(fileUrl, destfile = "./data/cameras.csv", method = "curl") :
download had nonzero exit status
在网上找不到任何帮助,有谁知道如何解决这个问题?
答案 0 :(得分:17)
仍然不明白为什么删除method = "curl"
无法解决问题。
另一种解决方案是安装包裹downloader
的{{1}}包,使下载过程更容易,跨平台(所有操作系统具有相同参数的一个功能)
download.file
希望这次能够奏效
答案 1 :(得分:9)
@dickoa的答案可能有效,但我认为主要问题是您不必要地使用https
。我认为这有效:
# Note the http instead of https
file<-'http://data.baltimorecity.gov/api/views/dz54-2aru/rows.csv?accessType=DOWNLOAD'
read.csv(file)
答案 2 :(得分:4)
尝试其他方法: var obj = oSelectedItem.getBindingContext().getObject();
var context = oEvent.getSource().getBindingContext().getObject();
context.ldate = obj.ldate;
context.ltime = obj.ltime;
oController.onRowUpdate("/modelData(pdsnr='"+context.pdsnr+"')",
context);
答案 3 :(得分:3)
下载前使用setInternet2。它对我有用。
setInternet2(使用= T)
file&lt; - &#34; URL&#34;
download.file(file,destfile =&#34; ./ data / cameras.csv&#34;)
答案 4 :(得分:2)
这有效!
文件&LT; - &#39; http://data.baltimorecity.gov/api/views/dz54-2aru/rows.csv?accessType=DOWNLOAD&#39; download.file(file,destfile =&#34; cameras.csv&#34;)
答案 5 :(得分:2)
fileUrl1&lt; - “https:// ... xyz.csv”
download.file(fileUrl1,destfile =“。/ data / xyz.csv”,method =“curl”)
使用以下内容(第1行中的http代替https,第2行中删除mehod =“curl”)
fileUrl1&lt; - “http:// ... xyz.csv”
download.file(fileUrl1,destfile =“./ data / xyz.csv”)
试试这个,你可以下载csv文件
答案 6 :(得分:2)
@dickoa: 鉴于您在执行此操作时获得“正确”的事实:
file.exists("./data")
我想你最初写过:
if (!file.exists("data")) { file.create("data") }
在执行您共享的代码之前下载csv。但是,这会创建一个文件“data”,而不是目录。因此,应在代码之前在R脚本中编写以下内容:
if (!file.exists("data")) { dir.create("data") }
在此之后,我相信您的代码应该可以正常工作。希望这会有所帮助。
答案 7 :(得分:1)
当您致电download.file()
时,它不会为您创建目录
相反,您需要为其创建一个有效的目录来创建该文件
我的猜测是你还没有创建名为data
的文件夹。
希望这有帮助。
答案 8 :(得分:1)
我发现这可以通过省略https中的ssl来实现
NatGas&lt; - &#34; http://d396qusza40orc.cloudfront.net/getdata%2Fdata%2FDATA.gov_NGAP.xlsx&#34;
然后将方法设置为&#34; auto&#34;
download.file(NatGas,destfile =&#34; ./ TidyData / NatGas.xlsx&#34;,method =&#34; auto&#34;,mode =&#34; wb&#34;)
答案 9 :(得分:1)
它刚好发生在我身上。为了使其正常工作,您只需要删除“s
”中的“https
”,也不要指定“method = curl
”。我刚刚开始,所以不知道它是如何工作的,但嘿,它完成了这项工作。
答案 10 :(得分:0)
尝试将“method = curl”中的行更改为“method = internal”
如果您想使用curl方法,则需要将curl库安装到您的计算机上http://curl.haxx.se/
答案 11 :(得分:0)
我尝试了两种方法来下载同一个文件:
使用install.packages("downloader")
下载“downloader”软件包,然后使用require(downloader)
命令加载软件包。在此之后,使用命令:download(fileurl,"./data/camera.csv",mode="wb")
另一种方法是:
文件&LT; - 'http://data.baltimorecity.gov/api/views/dz54-2aru/rows.csv?accessType=DOWNLOAD' read.csv(文件)
并使用data.frame
方法保存write.csv
文件以保存文件。
答案 12 :(得分:0)
我发现我必须从haxx站点实际下载curl,然后将其位置添加到系统环境变量中的路径。之后
download.file(fileURL, destfile = "data/cameras.csv", method = "curl")
命令工作正常。这是在Windows 7,64位机器上。
答案 13 :(得分:0)
如果您编写method =“ libcurl”,则它将同时适用于http或https url
答案 14 :(得分:0)