R语言读取xls和xlsx表格数据

开始一直使用xlsx包读取excel数据,该包基于java,但是在windows上总是无缘无故出bug

今天发现另一个读取excel数据的包gdata,该包基于perl,安装好perl并配置好perl的环境变量后即可使用,暂时未出现bug

gdata包(基于perl)

使用read.xls函数读取xls或xlsx表格数据,参数:

read.xls(xls, sheet=1, verbose=FALSE, pattern, na.strings=c("NA","#DIV/0!"),
..., method=c("csv","tsv","tab"), perl="perl")
  • 该包首先把excel数据转为csv数据 (默认methode为csv)后,再读取转换成功的csv数据
  • sheet指定读取的excel表单编号,也可以使表单的名称,默认读取第一个表单
  • verbose表示是否显示详细读取信息,默认为不显示
  • perl指定perl程序的地址,如果没有配置perl的环境变量,需要设置为perl.exe所在路径
  • encoding编码,如果有中文字符,需要设置为encoding = “UTF-8”
  • 常用设置:stringsAsFactors = FALSE设置不对字符串进行因子的转换

示例

xlsfile <- file.path(path.package('gdata'),'xls','iris.xls')
xlsfile
iris <- read.xls(xlsfile) # defaults to csv format
iris <- read.xls(xlsfile,method="csv") # specify csv format
iris <- read.xls(xlsfile,method="tab") # specify tab format

## Example specifying exact Perl path for default MS-Windows install of
## ActiveState perl
iris <- read.xls(xlsfile, perl="C:/perl/bin/perl.exe")



file="E:/r/qPCR/171004_data.xls"
data_test <- gdata::read.xls(file,
  encoding = "UTF-8",
  verbose=T, 
  stringsAsFactors=FALSE)

参考:
https://cran.r-project.org/web/packages/gdata/gdata.pdf

点赞