R语言读写xls,xlsx文件
引言
R语言读写excel文件时,可以使用多个package(readxl,xlsx,XLConnect,openxlsx等)
其中,ROOBC包只能应用于32位的windows系统,xlsReadWrite只能从GitHub中获取,CRAN中不能直接获取,XLConnect需要依赖于java,且对大数据情况读取非常慢,所以我们使用xlsx,readxl,XLConnect来进行Excel类文件的读取。
xlsx包
使用步骤
1) 装Java
安装链接:https://www.java.com/zh_CN/download/
我们按照指引选择默认路径安装,安装完成后,在C:\Program Files
下出现了Java文件,说明安装成功。(注:有些地方说需要将Java文件添加到全局变量中,后面的xlsx
包才能调取成功,但其实在这两天的实际安装中发现,自己的电脑并不需要,可能得看脸。)
2) 装xlsx
使用install.package()或者在RStudio中直接安装。
3) 读取文件
最后我们就能直接使用啦,下面来讲一下其代码格式:
1 |
|
一个标准的数据读取如上所示,下面将几个常用的参数:
"data.xlsx"
:表示读取数据的名称。sheetName
:表示读取表中表的名称,通常第一个就是Sheet1
。encoding
:这个在读取中文数据的时候是一定要加上的,不然读取数据会出现乱码。sheetIndex
:表示读取文件中第几个表,sheetIndex = 1
表示读取文件中第一个表。需要特别注意:当文件中我们的表明为中文字时,不能使用类似sheetName = "表1"
进行读取,即使加上encoding = 'UTF-8'
也会出现读取错误,这时就需要使用sheetIndex
来进行读取。
4) 写入文件
1 |
|
想必会有人在这里踩坑,大家应该注意到有一个append
的参数,是否认为将其值设置为TRUE
的话,就可以多次向表中写入数据?那就真踩坑了。查看xlsx包中的注释也很模糊:
1 |
|
附加到现有文件中,实际上是增加新的sheet,而非在原有sheet工作表中继续增加数据。如需在同一个sheet工作表中多次增加数据。
readxl包
1) 安装readlx包
1 |
|
2) 读取文件
1 |
|
R语言读写xls,xlsx文件
https://fulequn.github.io/2020/09/Article202009171/