对于没有繁琐的外部依赖的解决方案*,现在有readxl
:
readxl 包使从 Excel 中获取数据到 R 中变得很容易。与许多现有的包(例如 gdata、xlsx、xlsReadWrite)相比,readxl 没有外部依赖项,因此它很容易在所有操作系统上安装和使用。它旨在处理存储在单个工作表中的表格数据。
Readxl 支持传统的 .xls 格式和现代的基于 xml 的 .xlsx 格式。.xls 支持通过 libxls C 库实现,它抽象了底层二进制格式的许多复杂性。为了解析 .xlsx,我们使用 RapidXML C++ 库。
它可以像这样安装:
install.packages("readxl") # CRAN version
或者
devtools::install_github("hadley/readxl") # development version
用法
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
package,而 package 又需要 Rtools(对于 Windows)或 Xcode(对于 OSX),它们是 R 外部的依赖项。但它们不需要任何摆弄路径等,所以这是一个优于 Java 和 Perl 依赖项。
更新现在有rexcel包。这保证了从 Excel 文件中获取 Excel 格式、函数和许多其他类型的信息并进入 R。