您的位置:首页 > 编程语言 > Java开发

1. 读取excel文件的辛酸之旅

2017-12-08 21:09 387 查看
以前用python,感觉很是舒服,不过选了线性回归这个课,老师推荐用r,最后作业也用R语言,无可奈何,从此走上了R的辛酸路。第一次心塞就是读取Excel文件。

1. 无法安装R包

安装xlsx包时总是报错:

unable to access index for repository https://cran.mtu.edu/src/contrib:  cannot open URL 'https://cran.mtu.edu/src/contrib/PACKAGES',


仔细一读,无法连接包的镜像,百度搜索,在网友的指导下设置镜像源,不管怎么设置,还是这个样子,重点是我用谷歌浏览器可以访问这个镜像源,因而排除镜像源的问题。

后来仔细想想了,都要崩溃了,但是为了考试我还是没有放弃,一般而言,这种需要联网的程序都是调用IE访问的,我打开IE试一试,结果发现IE无法联网,顿悟,原来是浏览器的问题,重置了浏览器就好了。



2. xlsx依赖包的安装顺序

xlsx包依赖两个独立包,rJava和xlsxjars,这两个包必须先安装,安装顺序为:

install.packages("rJava")
install.packages("xlsxjars")
install.packages("xlsx")


发现rjava不能安装,提示Java不存在,说明它运行需要java环境,那就安装JDK.

3. 安装JDK

jdk就是java开发软件,有些软件运行的时候需要java环境,需要安装JDK,安装方法,百度JDK 下载安装,需要主要:

版本需要与r对应:R是64位的则需要安装64位的JDK,32位的R就安装32位的JDK.

安装好JDK后,重复步骤2,没有报错的话,试一试:

>library(xlsx)


出现以下信息就说明安装成功。

Loading required package: rJava
Loading required package: xlsxjars


到这里还没完,编码还是有问题

4. 编码问题

当Excel文件中有汉字时一定会出现编码问题,使用
read.xlsx()
函数会报错:

Error in make.names(col.names, unique = TRUE) :
invalid multibyte string 23


在函数中加入编码方式的参数即可解决:

data = read.xlsx("input_data.xlsx", sheetIndex = 1, encoding = "UTF-8")


一定要把Excel文件放在工作目录下,而不仅仅是和r文件通一个目录,因为工作目录不一定在是在该目录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息