sheet_write: (Over)write new data into a Sheet

Description Usage Arguments Value See Also Examples

View source: R/sheet_write.R

Description

This is one of the main ways to write data with googlesheets4. This function writes a data frame into a (work)sheet inside a (spread)Sheet. The target sheet is styled as a table:

If no existing Sheet is specified via ss, this function delegates to gs4_create() and the new Sheet's name is randomly generated. If that's undesirable, call gs4_create() directly to get more control.

If no sheet is specified or if sheet doesn't identify an existing sheet, a new sheet is added to receive the data. If sheet specifies an existing sheet, it is effectively overwritten! All pre-existing values, formats, and dimensions are cleared and the targeted sheet gets new values and dimensions from data.

This function goes by two names, because we want it to make sense in two contexts:

write_sheet() and sheet_write() are synonyms and you can use either one.

Usage

1
2
3
sheet_write(data, ss = NULL, sheet = NULL)

write_sheet(data, ss = NULL, sheet = NULL)

Arguments

data

A data frame. If it has zero rows, we send one empty pseudo-row of data, so that we can apply the usual table styling. This empty row goes away (gets filled, actually) the first time you send more data with sheet_append().

ss

Something that identifies a Google Sheet:

  • its file id as a string or drive_id

  • a URL from which we can recover the id

  • a one-row dribble, which is how googledrive represents Drive files

  • an instance of googlesheets4_spreadsheet, which is what gs4_get() returns

Processed through as_sheets_id().

sheet

Sheet to write into, in the sense of "worksheet" or "tab". You can identify a sheet by name, with a string, or by position, with a number.

Value

The input ss, as an instance of sheets_id

See Also

Other write functions: gs4_create(), gs4_formula(), range_delete(), range_flood(), range_write(), sheet_append()

Other worksheet functions: sheet_add(), sheet_append(), sheet_copy(), sheet_delete(), sheet_properties(), sheet_relocate(), sheet_rename(), sheet_resize()

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
if (gs4_has_token()) {
  df <- data.frame(
    x = 1:3,
    y = letters[1:3]
  )

  # specify only a data frame, get a new Sheet, with a random name
  ss <- write_sheet(df)
  read_sheet(ss)

  # clean up
  googledrive::drive_trash(ss)

  # create a Sheet with some initial, placeholder data
  ss <- gs4_create(
    "sheet-write-demo",
    sheets = list(alpha = data.frame(x = 1), omega = data.frame(x = 1))
  )

  # write df into its own, new sheet
  sheet_write(df, ss = ss)

  # write mtcars into the sheet named "omega"
  sheet_write(mtcars, ss = ss, sheet = "omega")

  # get an overview of the sheets
  sheet_properties(ss)

  # view your magnificent creation in the browser
  gs4_browse(ss)

  # clean up
  gs4_find("sheet-write-demo") %>%
    googledrive::drive_trash()
}

googlesheets4 documentation built on July 22, 2021, 1:07 a.m.