关于如何使用XLConnect包将Microsoft Excel文件读入R中有很多很好的例子,但我找不到任何如何直接从URL读取Excel文件的示例 . 下面的可重现示例返回“ FileNotFoundException (Java)
” . 但是,我知道该文件存在,因为我可以通过将URL粘贴到浏览器中直接提取它 .
fname <- "https://www.misoenergy.org/Library/Repository/Market%20Reports/20140610_sr_nd_is.xls"
sheet <- c("Sheet1")
data <- readWorksheetFromFile(fname, sheet, header=TRUE, startRow=11, startCol=2, endCol=13)
虽然URL的前缀为“ https:
”,但它是一个不需要用户名或密码的公共文件 .
我试图首先使用 download.file(fname, destfile="test.xls")
下载该文件并收到一条消息,说明它已被下载但是当我尝试在Excel中打开它以检查它是否成功时,我得到一个Excel弹出框,上面写着“..found unreadable content在'test.xls' .
以下是我系统的具体内容:
计算机:64位戴尔运行操作系统:Windows 7 Professional R版本:R-3.1.0
任何帮助将不胜感激 .
4 回答
您可以使用
RCurl
下载文件:XLConnect不支持直接从URL导入 . 你必须使用例如
download.file
首先将文件下载到本地计算机:或者您最初提出的网址:
两件事情:
尝试使用不同的包 - 我知道 gdata 包的 read.xls 函数支持URL
尝试在公开的xls文件中加载,以确保它不是特定网站的问题 .
例如,您可以尝试:
这将在R中打开一个Firefox实例并要求您下载该文件,然后您可以在下一行代码中打开该文件 . 我不知道任何可以从HTTPS打开Excel电子表格的R工具 .
然后,您可以在保存文件时设置延迟,然后从下载文件夹中读取工作表: