Last chance! 50% off unlimited learning
Sale ends in
These functions violate the general convention of operating on a registered
Google sheet, i.e. on a googlesheet
object. But the need to
delete a bunch of sheets at once, based on a vector of titles or on a regular
expression, came up so much during development and testing, that it seemed
wise to package this as a function.
gs_grepdel(regex, ..., verbose = TRUE)gs_vecdel(vec, verbose = TRUE)
character; a regular expression; sheets whose titles match will be deleted
optional arguments to be passed to grep
when
matching regex
to sheet titles
logical; do you want informative messages?
character vector of sheet titles to delete
gs_delete
for more detail on what you can and cannot
delete and how to recover from accidental deletion
Other sheet deletion functions: gs_delete
# NOT RUN {
sheet_title <- c("cat", "catherine", "tomCAT", "abdicate", "FLYCATCHER")
ss <- lapply(paste0("TEST-", sheet_title), gs_new)
# list, for safety!, then delete 'TEST-abdicate' and 'TEST-catherine'
gs_ls(regex = "TEST-[a-zA-Z]*cat[a-zA-Z]+$")
gs_grepdel(regex = "TEST-[a-zA-Z]*cat[a-zA-Z]+$")
# list, for safety!, then delete the rest,
# i.e. 'TEST-cat', 'TEST-tomCAT', and 'TEST-FLYCATCHER'
gs_ls(regex = "TEST-[a-zA-Z]*cat[a-zA-Z]*$", ignore.case = TRUE)
gs_grepdel(regex = "TEST-[a-zA-Z]*cat[a-zA-Z]*$", ignore.case = TRUE)
## using gs_vecdel()
sheet_title <- c("cat", "catherine", "tomCAT", "abdicate", "FLYCATCHER")
ss <- lapply(paste0("TEST-", sheet_title), gs_new)
# delete two of these sheets
gs_vecdel(c("TEST-cat", "TEST-abdicate"))
# see? they are really gone, but the others remain
gs_ls(regex = "TEST-[a-zA-Z]*cat[a-zA-Z]*$", ignore.case = TRUE)
# delete the remainder
gs_vecdel(c("TEST-FLYCATCHER", "TEST-tomCAT", "TEST-catherine"))
# see? they are all gone now
gs_ls(regex = "TEST-[a-zA-Z]*cat[a-zA-Z]*$", ignore.case = TRUE)
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab