R可以从URL读取压缩的XLS文件吗?

时间:2013-07-27 14:12:25

标签: r xls

是否可以从在线ZIP文件中读取Excel文件?

我一直在尝试像read.csv那样的事情:

nuts = url("http://ec.europa.eu/eurostat/ramon/documents/nuts/NUTS_2010.zip")
xlsx::read.xlsx(unz(nuts, "NUTS_2010.xls"), 1)
close(nuts)

......无济于事。

2 个答案:

答案 0 :(得分:3)

这不太方便,但是如何:

basefn <- "NUTS_2010"
urlPath <- "http://ec.europa.eu/eurostat/ramon/documents/nuts/"
xlsFile <- paste0(basefn,".xls")
zipFile <- paste0(basefn,".zip")
download.file(paste0(urlPath,zipFile),zipFile)
unzip(zipFile)
## I had trouble with xlsx::read.xlsx, but gdata::read.xls was OK
## xlsx::read.xlsx(xlsFile,1)
gdata::read.xls(xlsFile)
unlink(zipFile)

如果您想定期将其打包到readZipURL <- function(urlPath,basefn) {...}函数中,您可以将其打包(您可能也希望清理下载的XLS文件......)

答案 1 :(得分:2)

这对我有用

options( java.parameters = "-Xmx4g" )
library(XLConnect)
temp <- tempfile()
zipfile <- paste0("https://www.cms.gov/Research-Statistics-Data-and-Systems/Statistics-Trends-and-Reports/MCRAdvPartDEnrolData/Downloads/"
                  ,year,"/",year,"-", "Low-Income-Subsidy-Contract-Enrollment-by-County.zip")
download.file(zipfile,temp)

filename <- paste0("WEB Tables LIS by state -county ",month2,"-","1","-",year,".xlsx")

temp1 <- unzip(temp)
assign(paste0("scc_pdp_lis_",year),readWorksheetFromFile(temp1,sheet=1,startRow=7,header=F))

我正在阅读一些我感兴趣的CMS文件