6

我正在尝试从 下载.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

4

2 回答 2

21

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

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

这将解决问题。

于 2015-03-04T17:44:11.037 回答
6

我真的迟到了,但我花了很多时间在同样的错误上,这对我不起作用。如果您只是尝试下载文件以使用从磁盘加载它read_xlsx,则更好的解决方案是完全跳过磁盘步骤:

# install.packages(rio)
library(rio)

data = rio::import(url)

干杯

于 2019-04-16T17:59:24.793 回答