【发布时间】:2012-05-16 23:16:25
【问题描述】:
我们有 7000 多个 .xlsx(2010) 的 excel 数据文件。我的 R 版本是 R 2.15.0。 如果我手动操作将 xlsx 转换为 xlx、.cvs 或 txt.,它将花费更多时间。
【问题讨论】:
我们有 7000 多个 .xlsx(2010) 的 excel 数据文件。我的 R 版本是 R 2.15.0。 如果我手动操作将 xlsx 转换为 xlx、.cvs 或 txt.,它将花费更多时间。
【问题讨论】:
我没有使用 XLSconnect,但我的学生使用了 xlsx 包。然后函数 read.xlsx 或 read.xlsx2 将在 xls 表中读取。这个包有读写xls格式的选项,可以读写电子表格和特定区域中的特定工作表。
我给我的学生(生物学二年级学生)使用此软件包的唯一正式指导是电子表格必须“格式正确”。 (所有项目都是数据而不是公式,第一行是小写的变量名称,没有任何非字母字符,第2-##行有每个变量的数据。如果是记录,则比同一记录的所有项目在同一行)它没有 *.xls 这么严格,但我希望学生在阅读数据文件时遇到最少的问题。
【讨论】:
xlsx 和XLConnect 使用相同的Java 库。但在我看来,XLConnect 要好得多(即更好的可用性以及更好的库覆盖率)
gdata 包中的函数read.xls 会将xlsx 和xls 文件读入R。我经常使用这个。
听起来你有很多 Excel 文件要处理,这是我将大量这些文件(xlsx 和 xls)放入 R 的方法:
直接设置工作到我的 Excel 文件的位置
setwd("F:\\ address of folder with all my Excel files")
列出工作目录中的所有文件
MyFiles <- list.files()
查看列表
MyFiles
创建一个列表,其中包含工作目录中包含的 xls 和 xlsx 文件中的所有数据。这就像批量数据导入功能。
library(gdata)
Mylist <- lapply(MyFiles, read.xls)
检查这是否读取了文件夹中的所有文件,以防某些Excel文件损坏等。如果结果为FALSE,则说明有问题。
identical(length(MyFiles), length(Mylist))
然后我继续sapply等对文件中的数据执行功能。
【讨论】:
R的细节,这可能对你也有用。