googlesheets (version 0.1.0)

gs_grepdel: Delete several spreadsheets at once by title

Description

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.

Usage

gs_grepdel(regex, ..., verbose = TRUE)

gs_vecdel(vec, verbose = TRUE)

Arguments

regex
character; a regular expression; sheets whose titles match will be deleted
...
optional arguments to be passed to grep when matching regex to sheet titles
verbose
logical; do you want informative messages?
vec
character vector of sheet titles to delete

Examples

Run this code
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)

Run the code above in your browser using DataLab