Skip to content

Create a source object.

Usage

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

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. To be recognised as literal data, the input must be either wrapped with I(), be a string containing at least one new line, or be a vector containing at least one string with a new line.

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] ""
#> 
#> $skip_quote
#> [1] TRUE
#> 
#> 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] ""
#> 
#> $skip_quote
#> [1] TRUE
#> 
#> attr(,"class")
#> [1] "source_raw" "source"    

# Strings
datasource(readr_example("mtcars.csv"))
#> [[1]]
#> [1] "/home/runner/work/_temp/Library/readr/extdata/mtcars.csv"
#> 
#> $skip
#> [1] 0
#> 
#> $skip_empty_rows
#> [1] FALSE
#> 
#> $comment
#> [1] ""
#> 
#> $skip_quote
#> [1] TRUE
#> 
#> attr(,"class")
#> [1] "source_file" "source"     
datasource(readr_example("mtcars.csv.bz2"))
#> [[1]]
#> [1] "/tmp/Rtmpqy3PHW/file16e426270879"
#> 
#> $skip
#> [1] 0
#> 
#> $skip_empty_rows
#> [1] FALSE
#> 
#> $comment
#> [1] ""
#> 
#> $skip_quote
#> [1] TRUE
#> 
#> $env
#> <environment: 0x5626e9b91f28>
#> 
#> attr(,"class")
#> [1] "source_file" "source"     
datasource(readr_example("mtcars.csv.zip"))
#> [[1]]
#> [1] "/tmp/Rtmpqy3PHW/file16e4d3d17ed"
#> 
#> $skip
#> [1] 0
#> 
#> $skip_empty_rows
#> [1] FALSE
#> 
#> $comment
#> [1] ""
#> 
#> $skip_quote
#> [1] TRUE
#> 
#> $env
#> <environment: 0x5626e9d36220>
#> 
#> attr(,"class")
#> [1] "source_file" "source"     
if (FALSE) { # \dontrun{
datasource("https://github.com/tidyverse/readr/raw/main/inst/extdata/mtcars.csv")
} # }

# Connection
con <- rawConnection(charToRaw("abc\n123"))
datasource(con)
#> [[1]]
#> [1] "/tmp/Rtmpqy3PHW/file16e419bbf8e0"
#> 
#> $skip
#> [1] 0
#> 
#> $skip_empty_rows
#> [1] FALSE
#> 
#> $comment
#> [1] ""
#> 
#> $skip_quote
#> [1] TRUE
#> 
#> $env
#> <environment: 0x5626e9f9f838>
#> 
#> attr(,"class")
#> [1] "source_file" "source"     
close(con)