将.xlsx文件读入R中

时间:2015-07-08 08:27:07

标签: r

我试图将一个excel文件读入R.这是关于我的cwd中的以下文件:

 > list.files()
 [1] "Keuren_Op_Afspraak.xlsx"

我安装了XLConnect并且正在执行以下操作:

library(XLConnect)
demoExcelFile <- system.file("Keuren_Op_Afspraak.xlsx", package = "XLConnect")
wb <- loadWorkbook(demoExcelFile)

但这给了我错误:

Error: FileNotFoundException (Java): File '' could not be found - you may specify to automatically create the file if not existing.

但我不明白这是从哪里来的。有什么想法吗?

3 个答案:

答案 0 :(得分:4)

我更喜欢使用readxl包。它是用C语言编写的,所以速度更快。它似乎也更好地处理大文件。命令是:

library(readxl)
wb <- read_excel("Keuren_Op_Afspraak.xlsx")

答案 1 :(得分:2)

您也可以使用xlsx包。

library(xlsx)
wb <- read.xlsx("Keuren_Op_Afspraak.xlsx", sheet = 1)

编辑:@Verena

您还可以更快地使用此功能:

wb <- read.xlsx2("Keuren_Op_Afspraak.xlsx", sheet = 1)

答案 2 :(得分:1)

您必须以这种方式更改代码:

library(XLConnect)
demoExcelFile <- "Keuren_Op_Afspraak.xlsx"
wb <- loadWorkbook(demoExcelFile)

你可能从这里拿了例子: http://www.inside-r.org/packages/cran/XLConnect/docs/loadWorkbook

这一行

system.file("demoFiles/mtcars.xlsx", package = "XLConnect")

是一种获取属于包的示例文件的方法。如果您下载XLConnect的zip文件并查看文件夹结构,您将看到有一个包含mtcars.xlsx的文件夹demoFiles。参数package =“XLConnect”告诉方法在这个包中查找文件。

如果在命令行中键入它,则返回文件的绝对路径:

"C:/Users/Expecto/Documents/R/win-library/3.1/XLConnect/demoFiles/mtcars.xlsx"

要使用loadWorkbook,您只需传递相对或绝对文件路径。