如何在 R 中下载 .xlsx 文件并将数据加载到数据框中?
Posted
技术标签:
【中文标题】如何在 R 中下载 .xlsx 文件并将数据加载到数据框中?【英文标题】:How to download an .xlsx file in R and load the data into a dataframe? 【发布时间】:2015-03-04 17:14:09 【问题描述】:我正在尝试从eia
下载.xlsx
文件并收到以下错误。
错误是:"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
【问题讨论】:
【参考方案1】:您应该在下载非纯文本文件时使用wb
- 二进制模式:
download.file(url = "http://www.eia.gov/petroleum/drilling/xls/dpr-data.xlsx", destfile = tmp, mode="wb")
这将解决问题。
【讨论】:
【参考方案2】:我参加聚会真的迟到了,但我花了很多时间在同样的错误上,这对我不起作用。如果您只是为了使用read_xlsx
从磁盘加载文件而尝试下载文件,则更好的解决方案是完全跳过磁盘步骤:
# install.packages(rio)
library(rio)
data = rio::import(url)
干杯
【讨论】:
以上是关于如何在 R 中下载 .xlsx 文件并将数据加载到数据框中?的主要内容,如果未能解决你的问题,请参考以下文章