用R读取Excel文件:xlsx包加载异常的处理

您所在的位置:网站首页 linux打开xlsx 用R读取Excel文件:xlsx包加载异常的处理

用R读取Excel文件:xlsx包加载异常的处理

2023-02-28 21:26| 来源: 网络整理| 查看: 265

R本身读csv是完全没有问题的,但是毕竟从excel=>csv的存储要好几步操作,csv在excel里面打开也是蛮麻烦的。所以如果能直接用R读Excel就最好不过了。R里面读取Excel比较常用的包有xlsx和XLConnect,等。以xlsx为例:

install.packages('xlsx') ... 安装完成后用下面的两行就可以读取xlsx文件了 library(xlsx) read.xlsx2("myfile.xlsx", sheetName = "Sheet1")

但是很多人,包括我,在安装以后是无法加载xlsx这个包的,一般会有下面这么个报错:

载入需要的程辑包:rJava Error: package or namespace load failed for ‘rJava’: loadNamespace()里算'rJava'时.onLoad失败了,详细内容: 调用: inDL(x, as.logical(local), as.logical(now), ...) 错误: unable to load shared object 'd:/Program Files/R/R-3.4.2/library/rJava/libs/x64/rJava.dll': LoadLibrary failure: 找不到指定的模块。 Error: 无法载入程辑包‘rJava’

或者是

载入需要的程辑包:rJava Error: package or namespace load failed for ‘rJava’: loadNamespace()里算'rJava'时.onLoad失败了,详细内容: 调用: fun(libname, pkgname) 错误: No CurrentVersion entry in Software/JavaSoft registry! Try re-installing Java and make sure R and Java have matching architectures. Error: 无法载入程辑包‘rJava’

或者是提示JAVA_HOME系统变量的设置出了问题,无法读取等等。有的时候还能遇到这样的一个对话框:

参考这个Stack Overflow里面的说明:

Using the rJava package on Win7 64 bit with R

解决步骤大概有以下几步:

首先肯定要确认你的系统装了JRE,比如你可以去这里下载Java SE Runtime Environment 9但是即便是装好了以后还是无法直接运行的,还需要设置系统变量。右键点计算机,选择属性点高级系统设置点环境变量新建JAVA_HOME环境变量,按照你的JRE安装路径设置

关于JAVA_HOME这个环境变量,比如说你的jvm.dll在C:\Program Files\Java\jre-9.0.1\bin\server,那么JAVA_HOME设置成C:\Program Files\Java\jre-9.0.1\就可以了。

另外在搜索过程中遇到了下面这一个博文,顺便也发个链接,有兴趣的可以去看看:

像Excel一样使用R进行数据分析(3) - 为程序员服务

关于怎么样找到jvm.dll:如果你在安装jre的时候没做过什么特殊的设置,那很大几率你的jre是安装在这里的:C:\Program Files\Java

所以先到这个目录看看,如果能在下面找到类似jre-9.0.1这样的文件夹找到就没问题了,那你的jvm.dll应该就在C:\Program Files\Java\jre-9.0.1\bin\server里面,而JAVA_HOME应该是C:\Program Files\Java\jre-9.0.1。

2. 另外还可以用java控制面板:

打开开始菜单,输入java,你会看到类似下面的内容:就打开第一个about java就行,等一段时间可以看到下面这个程序

点Desktop设置这一页标签可以看到图上的内容,里面的路径就是jre的路径。根据图中的情况现在的JAVA_HOME应该设置成:C:\Program Files\Java\jre-9.0.4\

关于为什么过一段时间xlsx库又TM用不了了:

因为你的jre会不定期的升个级啊,比如我的就从写这篇文章时候的9.0.1变成了现在的9.0.4,我也不知道它都升了些啥我也不care, 但是TM这一升级刚才的JAVA_HOME就错了:

原先的: C:\Program Files\Java\jre-9.0.1\ 升级以后的: C:\Program Files\Java\jre-9.0.4\

把JAVA_HOME修改一下现在就可以正常使用xlsx库了:

> library(xlsx) 载入需要的程辑包:rJava 载入需要的程辑包:xlsxjars



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3