直接从 R 脚本中读取 Excel 文件。

20 浏览
0 Comments

直接从 R 脚本中读取 Excel 文件。

如何直接将 Excel 文件读取到 R 中?还是首先将数据导出为文本或 CSV 文件,然后将该文件导入 R?

admin 更改状态以发布 2023年5月23日
0
0 Comments

现在有了readxl

readxl包使得从Excel获取数据并导入到R中变得容易。
与现有的包(如gdata、xlsx、xlsReadWrite等)相比,readxl没有外部依赖,因此易于在所有操作系统上安装和使用。它被设计用于处理存储在单个工作表中的表格数据。

readxl是基于libxls C库构建而成的,该库抽象了许多底层二进制格式的复杂性。

它支持遗留的.xls格式和.xlsx格式。

可以从CRAN中获取readxl,也可以通过以下方式从github安装:

# install.packages("devtools")
devtools::install_github("hadley/readxl")

使用方法

library(readxl)
# read_excel reads both xls and xlsx files
read_excel("my-old-spreadsheet.xls")
read_excel("my-new-spreadsheet.xlsx")
# Specify sheet with a number or name
read_excel("my-spreadsheet.xls", sheet = "data")
read_excel("my-spreadsheet.xls", sheet = 2)
# If NAs are represented by something other than blank cells,
# set the na argument
read_excel("my-spreadsheet.xls", na = "NA")

请注意,虽然描述中说“没有外部依赖”,但它确实需要Rcpp,这又需要Rtools(对于Windows)或Xcode(对于OSX),这些是R之外的依赖。尽管很多人由于其他原因已经安装了它们。

0
0 Comments

让我重申 @Chase 的建议:使用 XLConnect 。使用 XLConnect 的原因,我的看法是:\n\n1. 跨平台。XLConnect 是用 Java 编写的,因此可以在 Win、Linux、Mac 上运行而不需要更改 R 代码(除非可能需要更改路径字符串)。\n\n2. 没有其他需要加载的东西。只需安装 XLConnect 即可继续生活。\n\n3. 您只提到了读取 Excel 文件,但 XLConnect 还可以写入 Excel 文件,包括更改单元格格式。而且它可以在 Linux 或 Mac 上执行此操作,不止是 Win。\n\nXLConnect 相对其他解决方案来说比较新,因此在博客文章和参考文档中提到的频率较低。对我来说,它非常有用。

0