R语言获取数据3:导入Excel文件

作者: 暮野将至 | 来源:发表于2019-12-30 19:28 被阅读0次

    工作中做数据分析的时候,偶尔会需要将一些 Excel 文件导入到R中使用,每次都转换成 csv 文件也不现实,而且不管是保存成 csv 还是 txt 文件,都只能保存当前活动工作表。

    这个时候,熟悉如何使用R语言读取 Excel 文件就显得很重要啦,不过还是建议数据交换使用 csv 文件,具有通用性和准确性。

    1、readxl 包

    又是 Hadley Wickham 大神的杰作!

    主要包含read_excel()\read_xls()\read_xlsx() \ excel_sheets() 三个函数,其中:
    read_excel():读取 xls 和 xlsx 文件;read_excel() 调用,以根据文件扩展名和文件本身的顺序 excel_format() 确定 path 是 xls 还是 xlsx。如果您更了解并希望避免此类猜测,请直接使用 read_xls() 和 read_xlsx()。
    excel_sheets():列出Excel电子表格中的所有工作表;

    使用示例:

    > #加载包
    > library(readxl)
    > #读取Excel文件第一个sheet数据
    > data <- read_excel('/Users/user/Desktop/庆余年人物.xlsx',sheet = 1)
    > #读取Excel文件内sheetname='大宗师'的数据                                                              
    > data <- read_excel('/Users/user/Desktop/庆余年人物.xlsx',sheet = '大宗师')
    > #读取Excel文件内前3行数据                                                                           
    > data <- read_excel('/Users/user/Desktop/庆余年人物.xlsx',n_max = 3)
    > #读取Excel文件内A1:B3块数据                                                                        
    > data <- read_excel('/Users/user/Desktop/庆余年人物.xlsx',sheet = 1,range = 'A1:B3')
    > #读取Excel文件内A:B列数据                                                                          
    > data <- read_excel('/Users/user/Desktop/庆余年人物.xlsx',sheet = 1,range = cell_cols("A:B"))
    > #列出Excel文件中的所有工作表;                                                                         
    > excel_sheets('/Users/user/Desktop/庆余年人物.xlsx')
    [1] "人物"   "大宗师"
    

    2、openxlsx 包

    提示:仅使用于 .xlsx 文件!!!
    提示:仅使用于 .xlsx 文件!!!
    提示:仅使用于 .xlsx 文件!!!

    重要的话说三遍!!!
    重要的话说三遍!!!
    重要的话说三遍!!!

    使用示例:

    # 加载包
    library(openxlsx)
    # 默认读取sheet1的数据
    data <- read.xlsx('/Users/user/Desktop/庆余年人物.xlsx')
    # 读取Excel文件内sheetname='大宗师'的数据
    data <- read.xlsx('/Users/user/Desktop/庆余年人物.xlsx',sheet = '大宗师')
    

    参数设置同 readxl 大同小异,具体可以使用 help(openxlsx) 函数参看参数设置。

    help(openxlsx)
    read.xlsx(xlsxFile, sheet = 1, startRow = 1, colNames = TRUE,
              rowNames = FALSE, detectDates = FALSE, skipEmptyRows = TRUE,
              skipEmptyCols = TRUE, rows = NULL, cols = NULL, check.names = FALSE,
              namedRegion = NULL, na.strings = "NA", fillMergedCells = FALSE)
    

    网上还有很多方法去读取 Excel 文件,例如:xlsx 包、 ROBDC 包、复制剪切板等,但相比较实用性和简洁性来说,我觉得 readxl 包和 openxlsx 包都是我目前工作中的首选,毕竟,高效、简洁才是王道。

    通过三遍文章,把工作中R语言获取数据的几个情形都梳理了一遍,希望对大家有帮助,因为不管是数据分析还是数据建模,数据都是最重要的,希望大家在数据工作中,都能够顺利。

    历史系列文章见下:
    R语言获取数据1:从文本文件获取数据
    R语言获取数据2:连接数据库

    相关文章

      网友评论

        本文标题:R语言获取数据3:导入Excel文件

        本文链接:https://www.haomeiwen.com/subject/kzomoctx.html