给R语言读取Excel表的能力

Excel是企业电子表格处理的事实标准格式。R本身都是处理各种文本格式,像是CSV,或者自己的二进制格式文件。让两批人可能够彼此沟通,就必须让R能够读取xlsx格式。

R专门处理Excel文件的包是xlsx。

直接在线安装

> install.packages("xlsx")
also installing the dependencies ‘rJava’, ‘xlsxjars’

trying URL 'https://mirrors.tongji.edu.cn/CRAN/bin/windows/contrib/3.6/rJava_0.9-11.zip'
Content type 'application/zip' length 832080 bytes (812 KB)
downloaded 812 KB

trying URL 'https://mirrors.tongji.edu.cn/CRAN/bin/windows/contrib/3.6/xlsxjars_0.6.1.zip'
Content type 'application/zip' length 9485571 bytes (9.0 MB)
downloaded 9.0 MB

trying URL 'https://mirrors.tongji.edu.cn/CRAN/bin/windows/contrib/3.6/xlsx_0.6.1.zip'
Content type 'application/zip' length 460695 bytes (449 KB)
downloaded 449 KB

package ‘rJava’ successfully unpacked and MD5 sums checked
package ‘xlsxjars’ successfully unpacked and MD5 sums checked
package ‘xlsx’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\chang\AppData\Local\Temp\RtmpqE36kp\downloaded_packages

载入包试试看

> library(xlsx)
Error: package or namespace load failed for ‘xlsx’:
 loadNamespace()里算'rJava'时.onLoad失败了,详细内容:
  调用: fun(libname, pkgname)
  错误: JAVA_HOME cannot be determined from the Registry

居然报错。

看一下,原来是这个包依赖Java。没办法,虽然手里已经没有什么用Java的软件了,但是也要装一个了。当然这句话不包含Android手机。

安装Java

直接去Java·官网:https://www.java.com/zh_CN/

给R语言读取Excel表的能力_第1张图片

好经典 古老 的网页。点鲜艳的“免费Java下载”按钮。

直接安装默认的64位Java SE。

给R语言读取Excel表的能力_第2张图片

安装过程也是经典的windows软件安装过程。不应该会遇到麻烦。

给R语言读取Excel表的能力_第3张图片

我是有多背啊。居然点过之后就消失了。重启,用管理员身份运行才安装才正常开始。

给R语言读取Excel表的能力_第4张图片

给R语言读取Excel表的能力_第5张图片

再导入一下xlsx包

> library(xlsx)

给R语言读取Excel表的能力_第6张图片

没报错,那就是成功啦。

使用xlsx包

直接上代码看一下

> table1_1 <- read.xlsx2("e:/example/ch1/table1_1.xlsx",1)
> table1_1

运行正常。显得有点偏,用fix再看一下,没有问题。刚才那是显示的问题。

给R语言读取Excel表的能力_第7张图片

参数1指的是xlsx文件里面的sheet表的索引。注意!Excel表是从1开始索引。当然也可以用数据表名字替代。

> table1_1 <- read.xlsx2("e:/example/ch1/table1_1.xlsx","table1_1")
> table1_1

给R语言读取Excel表的能力_第8张图片

优先使用read.xlsx2

因为据说read.xlsx2比read.xlsx性能更高,或者说有些事情R比Java慢很多。

感谢阅读,欢迎关注和留言> 感谢阅读,欢迎关注和留言
量化投资与期货外汇散仙,基金保险水平也拿的出手

你可能感兴趣的:(人工智能)