从R中的URL下载和读取Excel文件时出错

时间:2018-11-16 03:08:36

标签: r excel

以下代码

  

库(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系统上。谢谢。

2 个答案:

答案 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")