以下代码
库(readxl)
url <-“ http://www.econ.yale.edu/~shiller/data/ie_data.xls”
destfile <-“ ie_data.xls”
download.file(URL,destfile)
ie_data <-read_xls(destfile,sheet =“ Data”,skip = 7)
产生Error in sheets_fun(path) : Failed to open ie_data.xls
让我感到困惑的一件事是,如果转到URL并手动下载文件,则可以使用read_xls将其打开。我认为问题可能出在download.file函数上。
我希望能够直接从URL读取此Excel文件,或者至少下载并读取该Excel文件,而无需手动进行操作。我在使用R 3.5.1和readxl版本1.1.0的Window x86_64系统上。谢谢。
答案 0 :(得分:2)
我仍然不知道上面的代码为什么不起作用。使用此SO post,我发现以下代码将起作用:
library(httr)
library(readxl)
url <- "http://www.econ.yale.edu/~shiller/data/ie_data.xls"
GET(url, write_disk(tf <- tempfile(fileext = ".xls")))
ie_data <- read_excel(tf, sheet="Data", skip = 7)
答案 1 :(得分:0)
由于使用的是Windows,因此必须指定二进制模式
download.file(url, destfile, mode="wb")