逐行读取 Excel 文件中的一列

8 浏览
0 Comments

逐行读取 Excel 文件中的一列

我有一个Excel文件,我想逐行读取一列(即第三列的前128个值)并将其保存在一个列表中。我已经编写了以下代码来读取每一行并提取值,但它不能正常工作:

con<-file("D:\\MA\\excel_mix_meiningen.xls","r")
datalist<-list()
m<-list()
# 哪一列
spalte<-3
# 有多少个值?
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

我知道有一些包可以完成这个任务,但我想使用这种方法 😉

0
0 Comments

问题出现的原因是读取Excel文件的方法不高效,并且可能无法加载大文件。解决方法是将要读取的工作表保存为文本文件,然后使用read.table或read.csv函数读取文件的特定列,并将数据赋值给一个列表。可以使用rm函数来删除加载的数据框。

首先,将要读取的工作表保存为以制表符或逗号分隔的文本文件格式(如csv)。然后,使用read.table或read.csv函数读取文件的特定列,可以使用nrows参数来控制读取的行数。读取后,将所需的列赋值给一个列表。最后,使用rm函数删除加载的数据框。

请提供一个可重现的示例,以便更好地理解问题所在。

0