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

通常我们遇到的数据是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来进行读取。

使用R读取xls与xlsx文件相关推荐

  1. 使用poi读取xls、xlsx文件

    首先导入jar包: commons-collections 4-4.1jar poi 3.9.jar   --核心jar包: poi-ooxml.3.9.jar    --支持xlsx读取 poi-o ...

  2. python读取 xls,xlsx,csv,doc,docx,pdf 格式的文件

    前言 利用python读取 xls,xlsx,csv,doc,docx,pdf 格式的文件 python版本3.10.4 读取xls pip install xlrd==2.0.1 wps的.et文件 ...

  3. python pandas合并多个excel_python pandas合并多个excel(xls和xlsx)文件(弹窗选择文件夹和保存文件)...

    # python pandas合并多个excel(xls和xlsx)文件(弹窗选择文件夹和保存文件) import tkinter as tk from tkinter import filedial ...

  4. c#如何生成Excel(.xls和.xlsx)文件

    2019独角兽企业重金招聘Python工程师标准>>> 在工作中经常遇到需要用c#生成Excel文件(.xls和.xlsx格式),完全免费开源的ExcelLibrary是一个不错的选 ...

  5. Android app 读取xls和xlsx格式的excel文件

    在app开发中,有项功能 要求读取 Tv电视里面的xls 和 xlsx格式的excel文件 然后显示出来 所以需要poi-3.12-android-a.jar和poi-ooxml-schemas-3. ...

  6. matlab读取xls、xlsx、csv文件

    常常我们在matlab里需要读取excel数据文件或者保存matlab中矩阵的数据.但是直接在matlab里用xlswrite写出的文件实际上是csv格式,在matlab里无法用xlsread读取.笔 ...

  7. Excel的写入和读操作,以及.xls和.xlsx文件的区别

    如何对Excel文件操作 目录 如何对Excel文件操作 前言 一.xlsx和xls的区别 二.对Excel的读取与写入 1.xlwt和xlrd库 2.对代码Excel进行读取 3.对Excel的写入 ...

  8. python3操作xls,xlsx文件方法汇总

    笔者本地环境:win10 + python3.9 实现方式: 一.使用 xlrd.xlwt.xlutils 三个模块来操作 xls 或 csv 文件,优点是快,缺点是大数据写入时会报错,且实现方法代码 ...

  9. Excel 2010/2013/2016在鼠标右键新建xls或xlsx文件后,打开报错“无法打开文件”“文件格式或文件扩展名无效”...

    近段时间,陆续有两个同事先后出现同样的问题(在Excel多个版本都可能出现),问题描述: 当用鼠标右键在任意文件夹或电脑桌面"新建"→" Microsoft Excel ...

  10. 用Java将Excel的xls和xlsx文件转换成csv文件的方法, XLS2CSV, XLSX2CSV

    利用poi将excel文件后缀为.xls .xlsx的文件转换成txt/csv文本文件 首先,引入所需的jar包: <dependencies>2 <dependency>3 ...

最新文章

  1. Linux中的硬链接和软链接
  2. Windows 10 不能安装更新 (0x8024402f)
  3. 5、mybatis主配置文件之environments
  4. apicloud,aliyunlive,测试成功
  5. 突击计划——求n的阶乘
  6. mysql 基于 ssl 的主从复制
  7. Android—构建安全的Android客户端请求,避免非法请求
  8. 集线器工作原理简要说明
  9. 从python入门机器学习系列--2、Z 检验与 T 检验
  10. 计算机教师的人生格言,教师人生格言大全
  11. 【Uplift】评估方法篇
  12. linux字体不识别不了怎么办,Docker容器不识别宋体等字体怎么办
  13. MMORPG开发入门
  14. 在HBuilder里为什么输入汉字是繁体字,而我的输入法设置的是简体
  15. Smbus host controller not enabled Assuming drive cache : write through
  16. Android 图片选取画图案
  17. 数字图像处理技术及实用 MATLAB实验报告及PS作业
  18. 什么是Java / JVM中的-Xms和-Xms参数(已更新至Java 13)
  19. 伪造微信截图工具(改)
  20. 介绍一款功能强大的步进电机控制驱动芯片TMC5240

热门文章

  1. The credentials mode of request initiated by the XMLHttpRequest is controlled by the withCredentials
  2. 内存高效的可逆 GAN 网络:Reversible GANs for Memory-efficient Image-to-Image Translation
  3. 石墨文档网页视频链接批量保存到百度网盘
  4. C语言编写走迷宫小游戏
  5. PyTorch学习—7.数据预处理模块—transforms
  6. 《C++ Primer 第5版》-13.3交换操作-康奈尔笔记
  7. HttpMessageNotReadableException: Required request body is missing
  8. 304 Not Modified 是什么意思
  9. 由计算机病毒引起的问题属于,多数情况下由计算机病毒程序引起的问题属于()故障。A.硬件B.软件C.操作D.电源...
  10. 如何做个人微信号营销,一个人人都能月入3000微信营销方法你真的知道吗?