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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在R中下载.xlsx文件并将数据加载到数据帧中?相关的知识,希望对你有一定的参考价值。

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

答案

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

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

这将解决问题。

另一答案

我参加派对的时间已经很晚了,但是我花了很多时间坚持这个同样的错误,这对我来说不起作用。如果您只是尝试下载文件以便使用read_xlsx从磁盘加载它,那么更好的解决方案是完全跳过磁盘步骤:

# install.packages(rio)
library(rio)

data = rio::import(url)

干杯

以上是关于如何在R中下载.xlsx文件并将数据加载到数据帧中?的主要内容,如果未能解决你的问题,请参考以下文章

将 xlsx 文件加载到猪关系中

为啥自己的r语言中读不了xlsx文件

如何在R中闪亮的数据帧中强制反应

r语言 读取xlsx文件,时间变成了43435 怎么解决?

R-将提取的文本数据(每个实例作为行)导出为data.frame格式

如何将R语言中的表格数据输出为Excel文件