用R读取下面的一个excel表(xls):
http://s4/middle/001IAGNuzy72ynOnElld3&690
R语言中读取excel的函数是read.xls,该函数位于gdata包中,安装此包后,发现有错误提示如下所示:
>Install.packages("gdata")
>library(gdata)> x<- read.xls("d:/Downloads/test.xls",sheet=1)
Error in findPerl(verbose = verbose) :
perl executable not found. Use perl= argument to specify the correct path.
Error in file.exists(tfn) : invalid 'file' argument
经查询,此错误是因为计算机中未安装Perl,下载Perl并安装(http://strawberryperl.com/),根据自己的系统版本选择64位或32位的Perl,安装后,继续读取xls文件,如下所示:
> x<- read.xls("d:/Downloads/test.xls",sheet=1)
Error in findPerl(verbose = verbose) :
perl executable not found. Use perl= argument to specify the correct path.
错误提示显示Perl路径未指定,添加perl路径,如下所示:
> x<- read.xls("d:/Downloads/test.xls",sheet=1,na.strings=c("NA","#DIV/0!"),perl="C:\\Strawberry\\perl\\bin\\perl.exe")
>x
> head(x)
title1 title2 title3 鏍囬.1 鏍囬.2 鏍囬.3 鏍囬.4 鏍囬.5 鏍囬.6 鏍囬.7 鏍囬.8
1 椤圭洰1 鍐呭1 3 4 5 6 7 8 9 10 11
2 椤圭洰2 鍐呭2 3 娴嬭瘯
娴嬭瘯
娴嬭瘯
娴嬭瘯 8 9 10 11
3 椤圭洰3 鍐呭3 3 4 5 6 7 8 9 10 11
4 椤圭洰4 鍐呭4 3 4 5 6 7 8 9 10 11
5 椤圭洰5 鍐呭5 3 4 5 6 7 8 9 10 11
6 椤圭洰6 鍐呭6 3 4 5 6 7 8 9 10 11
但R显示中文乱码,因此需要加入参数encoding='UTF-8',更改命名如下:
x<- read.xls("d:/Downloads/test.xls",sheet=1,na.strings=c("NA","#DIV/0!"),perl="C:\\Strawberry\\perl\\bin\\perl.exe",encoding='UTF-8')
运行发现,显示正常:
> head(x)
title1 title2 title3 标题1 标题2 标题3 标题4 标题5 标题6 标题7 标题8
1 项目1 内容1 3 4 5 6 7 8 9 10 11
2 项目2 内容2 3 测试
测试
测试
测试 8 9 10 11
3 项目3 内容3 3 4 5 6 7 8 9 10 11
4 项目4 内容4 3 4 5 6 7 8 9 10 11
5 项目5 内容5 3 4 5 6 7 8 9 10 11
6 项目6 内容6 3 4 5 6 7 8 9 10 11

加载中…