Reshapes a data frame of cells (presumably the output of
range_read_cells()
) into another data frame, i.e., puts it back into the
shape of the source spreadsheet. This function exists primarily for internal
use and for testing. The flagship function range_read()
, a.k.a.
read_sheet()
, is what most users are looking for. It is basically
range_read_cells()
+ spread_sheet()
.
Arguments
- df
A data frame with one row per (nonempty) cell, integer variables
row
andcolumn
(probably referring to location within the spreadsheet), and a list-columncell
ofSHEET_CELL
objects.- col_names
TRUE
to use the first row as column names,FALSE
to get default names, or a character vector to provide column names directly. If user providescol_types
,col_names
can have one entry per column or one entry per unskipped column.- col_types
Column types. Either
NULL
to guess all from the spreadsheet or a string of readr-style shortcodes, with one character or code per column. If exactly onecol_type
is specified, it is recycled. See Column Specification for more.- na
Character vector of strings to interpret as missing values. By default, blank cells are treated as missing data.
- trim_ws
Logical. Should leading and trailing whitespace be trimmed from cell contents?
- guess_max
Maximum number of data rows to use for guessing column types.
- .name_repair
Handling of column names. By default, googlesheets4 ensures column names are not empty and are unique. There is full support for
.name_repair
as documented intibble::tibble()
.
Value
A tibble in the shape of the original spreadsheet, but enforcing
user's wishes regarding column names, column types, NA
strings, and
whitespace trimming.
Examples
df <- gs4_example("mini-gap") %>%
range_read_cells()
#> ✔ Reading from mini-gap.
#> ✔ Range Africa.
spread_sheet(df)
#> # A tibble: 5 × 6
#> country continent year lifeExp pop gdpPercap
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 Algeria Africa 1952 43.1 9279525 2449.
#> 2 Angola Africa 1952 30.0 4232095 3521.
#> 3 Benin Africa 1952 38.2 1738315 1063.
#> 4 Botswana Africa 1952 47.6 442308 851.
#> 5 Burkina Faso Africa 1952 32.0 4469979 543.
# ^^ gets same result as ...
read_sheet(gs4_example("mini-gap"))
#> ✔ Reading from mini-gap.
#> ✔ Range Africa.
#> # A tibble: 5 × 6
#> country continent year lifeExp pop gdpPercap
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 Algeria Africa 1952 43.1 9279525 2449.
#> 2 Angola Africa 1952 30.0 4232095 3521.
#> 3 Benin Africa 1952 38.2 1738315 1063.
#> 4 Botswana Africa 1952 47.6 442308 851.
#> 5 Burkina Faso Africa 1952 32.0 4469979 543.