How to open an .xlsb file in R?

前端 未结 4 1934
自闭症患者
自闭症患者 2020-12-14 20:13

I\'m trying to open an .xlsb file in R and keep getting similar errors.

Any recommendations on how to solve this issue without having to download the data and save

4条回答
  •  北荒
    北荒 (楼主)
    2020-12-14 20:54

    readxlsb package can read Excel binary (.xlsb) files into R. Here are some info taken from the package vignettes:

    read_xlsb(path, sheet, range, col_names, col_types, na, trim_ws, skip, ...)

    sheet:

    Either a name, or the index of the sheet to read. Index of the first sheet is 1. If the sheet name is embedded in the range argument, or implied if range is a named range, then this argument is ignored

    range:

    range can be specified as

    • A named range. Named ranges are not case sensitive
    • In Sheet!A1 notation
    • In Sheet!R1C1 notation
    • As a cellranger::cell_limits object

    col_names

    • TRUE: The first row is used for column names. Empty cells result in a column name of the form ‘column.i’
    • FALSE: Column names will be ‘column.i’
    • Character vector: vector containing column names.

    col_types

    Can be implied from the spreadsheet or specified in advanced. When specifying types, options are

    • “logical” (or “boolean”), “numeric” (or “double”), “integer”, “date” and “string” (or “character”)
    • Use “skip” (or “ignore”) to skip a column

    na

    A character string that is interpret as NA. This does not effect the implied data type for a column.

    trim_ws

    Should leading and trailing whitespaces be trimmed from character strings?

    skip

    The number of rows to skip before reading data.

    library(readxlsb)
    
    res = read_xlsb(path = system.file("extdata", "TestBook.xlsb", package = "readxlsb"), 
                    range = "PORTFOLIO", 
                    debug = TRUE)
    
    ls(res$env)
    #> [1] "content"      "named_ranges" "sheets"       "stream"
    
    res$env$named_ranges
    #>             name                     range sheet_idx first_column first_row
    #> 1   INFO_RELEASE          FirstSheet!$A$11         0            1        11
    #> 2        OUTLOOK 'My SecondTab'!$A$1:$C$13         1            1         1
    #> 3      PORTFOLIO      FirstSheet!$A$3:$C$9         0            1         3
    #> 4 SAVED_DATETIME          FirstSheet!$C$13         0            3        13
    #> 5          TITLE           FirstSheet!$A$1         0            1         1
    #>   last_column last_row
    #> 1           1       11
    #> 2           3       13
    #> 3           3        9
    #> 4           3       13
    #> 5           1        1
    

    Created on 2020-07-07 by the reprex package (v0.3.0)

提交回复
热议问题