Create a source object.

datasource(file, skip = 0, skip_empty_rows = FALSE, comment = "")

Arguments

file

Either a path to a file, a connection, or literal data (either a single string or a raw vector).

Files ending in .gz, .bz2, .xz, or .zip will be automatically uncompressed. Files starting with http://, https://, ftp://, or ftps:// will be automatically downloaded. Remote gz files can also be automatically downloaded and decompressed.

Literal data is most useful for examples and tests. It must contain at least one new line to be recognised as data (instead of a path) or be a vector of greater than length 1.

Using a value of clipboard() will read from the system clipboard.

skip

Number of lines to skip before reading data.

Examples

# Literal csv datasource("a,b,c\n1,2,3")
#> [[1]] #> [1] "a,b,c\n1,2,3" #> #> $skip #> [1] 0 #> #> $skip_empty_rows #> [1] FALSE #> #> $comment #> [1] "" #> #> attr(,"class") #> [1] "source_string" "source"
datasource(charToRaw("a,b,c\n1,2,3"))
#> [[1]] #> [1] 61 2c 62 2c 63 0a 31 2c 32 2c 33 #> #> $skip #> [1] 0 #> #> $skip_empty_rows #> [1] FALSE #> #> $comment #> [1] "" #> #> attr(,"class") #> [1] "source_raw" "source"
# Strings datasource(readr_example("mtcars.csv"))
#> [[1]] #> [1] "/tmp/RtmpnpL2Ud/temp_libpath4a6169398a51/readr/extdata/mtcars.csv" #> #> $skip #> [1] 0 #> #> $skip_empty_rows #> [1] FALSE #> #> $comment #> [1] "" #> #> attr(,"class") #> [1] "source_file" "source"
datasource(readr_example("mtcars.csv.bz2"))
#> [[1]] #> [1] "/tmp/RtmpTkXej1/file5b3d5ec59e33" #> #> $skip #> [1] 0 #> #> $skip_empty_rows #> [1] FALSE #> #> $comment #> [1] "" #> #> $env #> <environment: 0x7747490> #> #> attr(,"class") #> [1] "source_file" "source"
datasource(readr_example("mtcars.csv.zip"))
#> [[1]] #> [1] "/tmp/RtmpTkXej1/file5b3d6ad69005" #> #> $skip #> [1] 0 #> #> $skip_empty_rows #> [1] FALSE #> #> $comment #> [1] "" #> #> $env #> <environment: 0x5128698> #> #> attr(,"class") #> [1] "source_file" "source"
if (FALSE) { datasource("https://github.com/tidyverse/readr/raw/master/inst/extdata/mtcars.csv") } # Connection con <- rawConnection(charToRaw("abc\n123")) datasource(con)
#> [[1]] #> [1] "/tmp/RtmpTkXej1/file5b3d1680d749" #> #> $skip #> [1] 0 #> #> $skip_empty_rows #> [1] FALSE #> #> $comment #> [1] "" #> #> $env #> <environment: 0x4d5b610> #> #> attr(,"class") #> [1] "source_file" "source"
close(con)