如何在R中下载.xlsx文件并将数据加载到数据帧中?

时间:2015-03-04 17:14:09

标签: r import-from-excel xlconnect

我正在尝试从.xlsx下载eia文件并收到以下错误。

错误是:"Error: ZipException (Java): invalid entry size (expected 2385 but got 2390 bytes)"

我尝试过以下代码:

library(XLConnect)
tmp = tempfile(fileext = ".xlsx")
download.file(url = "http://www.eia.gov/petroleum/drilling/xls/dpr-data.xlsx", destfile = tmp)
readWorksheetFromFile(file = tmp, sheet = "Eagle Ford Region", header = FALSE, startRow = 9, endRow = 151)

我已经尝试了其他建议: Read Excel file into R with XLConnect package from URL

2 个答案:

答案 0 :(得分:10)

您应该在下载文件时使用wb - 二进制模式,而不是纯文本:

download.file(url = "http://www.eia.gov/petroleum/drilling/xls/dpr-data.xlsx", destfile = tmp, mode="wb")

这将解决问题。

答案 1 :(得分:0)

我参加聚会真的很晚,但是我花了很多时间解决这个错误,但这对我没有用。如果您只是为了下载文件而使用var x = 0; const add = (x) => { window[x] = window[x] + 1; } document.getElementById("test").addEventListener("click", function() { add("x"); console.log("x is now: " + x); })从磁盘加载文件,那么更好的解决方案是完全跳过磁盘步骤:

<button id="test">Click Me</button>

欢呼