我正在R中工作,我想从Web下载excel文件,并且正在使用download.file命令:
download.file(url = "http://www.jaredlander.com/data/ExcelExample.xlsx",
destfile="data/ExcelExample.xlsx",method='curl')
但是当我尝试运行代码时,它显示错误为:
download.file(url =“ http://www.jaredlander.com/data/ExcelExample.xlsx”,+ destfile =“ data / ExcelExample.xlsx”,method ='curl')download.file(url =“ http://www.jaredlander.com/data/ExcelExample.xlsx”,:中的错误:“ curl”调用的退出状态为非零。
该链接通过http 301响应重定向到https地址,method = "curl"
似乎不喜欢。 “内部”和“ wget”方法也不起作用。
我正在使用Windows,但似乎根本没有指定任何方法-根据手册,默认值为“ auto”,它可能为您选择了最合适的方法。在我的情况下,尽管method = "wininet"
也起作用,但看起来与method = "libcurl"
的结果相同。
[如果您使用的不是Windows,请尝试删除method="curl"
,它应该可以正常工作。否则,请尝试method = "libcurl"
。
即使我有一个有效的文件路径,您也可以看到我可以复制您的错误。
download.file(url = "http://www.jaredlander.com/data/ExcelExample.xlsx",
path.expand("~/jared.xlsx"), method = "curl")
# Error in download.file(url = "http://www.jaredlander.com/data/ExcelExample.xlsx", :
# 'curl' call had nonzero exit status
但是我可以通过完全删除“方法”来使其正常工作。
download.file(url = "http://www.jaredlander.com/data/ExcelExample.xlsx",
path.expand("~/jared.xlsx"))
# trying URL 'https://www.jaredlander.com/data/ExcelExample.xlsx'
# Content type 'application/vnd.openxmlformats' length 2045364 bytes (2.0 MB)
# downloaded 2.0 MB