(Over)write new data into a Sheet
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:
Special formatting is applied to the header row, which holds column names.
The first row (header row) is frozen.
The sheet's dimensions are set to "shrink wrap" the data
.
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()
evokes other table-writing functions, like
readr::write_csv()
. The sheet
here technically refers to an individual
(work)sheet (but also sort of refers to the associated Google
(spread)Sheet).
sheet_write()
is the right name according to the naming convention used
throughout the googlesheets4 package.
write_sheet()
and sheet_write()
are synonyms and you can use either one.
sheet_write(data, ss = NULL, sheet = NULL) write_sheet(data, ss = NULL, sheet = NULL)
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
|
ss |
Something that identifies a Google Sheet: its file ID, a URL from
which we can recover the ID, an instance of |
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. |
The input ss
, as an instance of sheets_id
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()
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() }
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.