gsheet (version 0.4.5)

gsheet2tbl: Download Google sheet as a table

Description

This is a convenience function, designed to download a table quickly and conveniently. If you experience any unexpected results, or you want more reliability or control (e.g. for a production situation), then I'd recommend you parse manually using one of the constructions in the examples:

  • read.csv(text=gsheet2text(url, format='csv'), stringsAsFactors=FALSE)

Usage

gsheet2tbl(url, sheetid = NULL)

Arguments

url

the google sheet url

sheetid

the index of the sheet to be downloaded. If you use the direct sheet URL, rather than the share by link, this will automatically be extracted. Otherwise, the first sheet will be downloaded by default.

Details

The Google sheet must have 'share by link' turned on.

If the package readr is available, then it will be used. This can produce slightly different, but normally better, parsings.

See Also

gsheet2text to download as plain text

Examples

Run this code
# NOT RUN {
# Download a sheet
url <- 'docs.google.com/spreadsheets/d/1I9mJsS5QnXF2TNNntTy-HrcdHmIF9wJ8ONYvEJTXSNo'
a <- gsheet2tbl(url)

# Download the second sheet, using the direct url
url <- 'docs.google.com/spreadsheets/d/1I9mJsS5QnXF2TNNntTy-HrcdHmIF9wJ8ONYvEJTXSNo#gid=850032961'
b <- gsheet2tbl(url)

# To download a sheet with more control, use the following:
url <- 'docs.google.com/spreadsheets/d/1I9mJsS5QnXF2TNNntTy-HrcdHmIF9wJ8ONYvEJTXSNo'
read.csv(text=gsheet2text(url, format='csv'), stringsAsFactors=FALSE)

# Or, with readr:
if(requireNamespace('readr', quietly=TRUE)){
  library(readr)
  read_csv(construct_download_url(url), col_types = cols(
    mpg = col_double(),
    cyl = col_integer(),
    disp = col_double(),
    hp = col_integer(),
    drat = col_double(),
    wt = col_double(),
    qsec = col_double(),
    vs = col_integer(),
    am = col_integer(),
    gear = col_integer(),
    carb = col_integer()
  ))
}

# }

Run the code above in your browser using DataLab