【问题标题】:how to import xlsx file(2010) into R 2.15.0 [closed]如何将 xlsx 文件(2010)导入 R 2.15.0 [关闭]
【发布时间】:2012-05-16 23:16:25
【问题描述】:

我们有 7000 多个 .xlsx(2010) 的 excel 数据文件。我的 R 版本是 R 2.15.0。 如果我手动操作将 xlsx 转换为 xlx、.cvs 或 txt.,它将花费更多时间。

【问题讨论】:

标签: excel r


【解决方案1】:

我没有使用 XLSconnect,但我的学生使用了 xlsx 包。然后函数 read.xlsx 或 read.xlsx2 将在 xls 表中读取。这个包有读写xls格式的选项,可以读写电子表格和特定区域中的特定工作表。

我给我的学生(生物学二年级学生)使用此软件包的唯一正式指导是电子表格必须“格式正确”。 (所有项目都是数据而不是公式,第一行是小写的变量名称,没有任何非字母字符,第2-##行有每个变量的数据。如果是记录,则比同一记录的所有项目在同一行)它没有 *.xls 这么严格,但我希望学生在阅读数据文件时遇到最少的问题。

【讨论】:

  • xlsxXLConnect 使用相同的Java 库。但在我看来,XLConnect 要好得多(即更好的可用性以及更好的库覆盖率)
  • 很高兴知道,我将与我的学生一起研究使用它。
  • 我使用库(“XLConnect”),但它看起来是错误的。并要求我重新安装java。所以我重新安装了java,但它也无法运行。加载所需的包:XLConnectJars 加载所需的包:rJava 错误:.onLoad failed in loadNamespace() for 'rJava', details: call: stop("No CurrentVersion entry in '", key, "'!尝试重新安装 Java 并制作确保 R 和 Java 具有匹配的架构。”)错误:找不到对象“键”错误:无法加载包“rJava”
【解决方案2】:

gdata 包中的函数read.xls 会将xlsxxls 文件读入R。我经常使用这个。

听起来你有很多 Excel 文件要处理,这是我将大量这些文件(xlsxxls)放入 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等对文件中的数据执行功能。

【讨论】:

  • 是的,我上传gdata包的时候,只用了这句话"a
  • @ZhiqiangChen 我已经添加了一些关于批量导入大量Excel文件到R的细节,这可能对你也有用。
  • 昨天我使用 gdata 包读取 xlsx。速度很慢。没有一个文件,它需要运行 2 秒。程序如下: library("gdata") for (i in 1:7000){ file.name
  • 你应该问另一个与这个问题不同的问题。类似“如何加快 excel 文件的导入速度?”
猜你喜欢
  • 2014-10-04
  • 2013-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-27
相关资源
最近更新 更多