【发布时间】:2013-11-07 15:40:51
【问题描述】:
我有一个 excel 文件,我想逐行读取一列(即第三列的前 128 个值)并将其保存在列表中。我编写了这段代码来读取每一行并提取值,但它不能正常工作:
con<-file("D:\\MA\\excel_mix_meiningen.xls","r")
datalist<-list()
m<-list()
# which column
spalte<-3
#How many values?
for(i in 1:128)
{
line<-readLines(con,n=1,warn=FALSE)
datalist<-c(datalist,sapply(line,"[[",spalte))
}
close(con)
datalist
我看到了这个错误:
Error in FUN("ÐÏ\021ࡱ"[[1L]], ...) : subscript out of bounds
我知道,有一些包可以完成这项工作,但我想使用这个方法;)
【问题讨论】:
-
但正如我所说,我不想使用包。我想使用这段代码:)
-
你不能。读取 Excel 文件的唯一方法是使用专门设计用于读取该文件格式的代码。
-
我已经尝试过了,但我得到了另一个错误:stackoverflow.com/questions/19769954/…
-
您的 Excel 文件相当大。即使是中等大小的 .xlsx 文件,XLConnect 和 xlsx(或者更确切地说,Excel 的 Java 接口)的性能也极差。一般来说,如果文件甚至是你的大小的 1/10,我什至不会费心去尝试。我对旧的 Excel 格式 (.xls) 的运气更好。当然,您可以随时导出为 csv。
标签: r