【R语言教程】如何读取xls与xlsx格式文件教程

所需工具:

R语言

聪明的大脑

勤劳的双手

 

注意:本站只提供教程,不提供任何成品+工具+软件链接,仅限用于学习和研究。

 

教程如下:

在数据分析的过程中,第一步就是读取数据。

通常我们遇到的数据是csv格式或者txt格式的数据,这时我们使用系统自带的read.csv()与read.table()就可对这些格式的数据进行读取,只是读取时需注意编码格式。对于大型csv格式的数据(当然小数据也可以),可以使用data.table包中的fread()进行读取可以极大地提升读取速度。

但当遇到了Excel表生成的文件,读取起来相对就没有那么友好。之前的做法是简单粗暴地直接将我们的xls或xlsx文件利用Excel转化为csv文件后再进行读取,亦或者直接就用Python使用pandas库进行处理,然后就在Python中进行分析。

就是由于之前几次碰壁,使用网上推荐的一些包来进行读取,但都以失败告终。不过这次还是决定解决这个“顽疾”,对xls与xlsx这两种文件用R进行读取。

这几种方法主要参考:Read Excel files from R

1. ROOBC

这个包中有函数可以读取xlsx格式的文件,但对于现在的我们而言,绝大多数人的电脑都不能使用这个包,因为其只能用于32位系统的Windows,所以这里不对这个包进行赘述。

2. xlsReadWrite

只能从GitHub中获得,CRAN上还没有,也不进行过多的赘述。

3. XLConnect

要依赖java,并且对于大数据情况读取非常慢。但实际上自己使用的时候,安装了java后,还是没法使用这个包。可能是某些步骤设置出现了问题。

若有童鞋对前面的三个包非常感兴趣,其详细的用法可以参考前面的参考网址。

4. xlsx

这个包是目前用的最多,也是R中可以说最好用的读取Excel文件的利器。

下面专门对其进行介绍。首先我们先说明这个包的依赖文件,不仅仅只是依赖R中的一些包,而是需要单独安装java。

1)装Java

安装链接:https://www.java.com/zh_CN/download/

我们按照指引选择默认路径安装,安装完成后,在C:\Program Files下出现了Java文件,说明安装成功。(注:有些地方说需要将Java文件添加到全局变量中,后面的xlsx包才能调取成功,但其实在这两天的实际安装中发现,自己的电脑并不需要,可能得看脸。)

2)装xlsx

安装xlsx其实没什么好说的,就正常安装,然后它会自动将所需要的rjava等依赖库,最后成功安装xlsx库。

3)实际使用

最后我们就能直接使用啦,下面来讲一下其代码格式:

library(xlsx)
dat <- read.xlsx("data.xlsx", sheetName = "Sheet1", encoding = 'UTF-8')

一个标准的数据读取如上所示,下面将几个常用的参数:

“data.xlsx”:表示读取数据的名称。

sheetName:表示读取表中表的名称,通常第一个就是Sheet1。

encoding:这个在读取中文数据的时候是一定要加上的,不然读取数据会出现乱码。

sheetIndex:表示读取文件中第几个表,sheetIndex = 1表示读取文件中第一个表。

需要特别注意:当文件中我们的表明为中文字时,不能使用类似sheetName = “表1″进行读取,即使加上encoding = ‘UTF-8’也会出现读取错误,这时就需要使用sheetIndex来进行读取。

标签

发表评论