R: Read a YAML file

read_yaml {yaml} | R Documentation

## Read a YAML file

### Description

Read a YAML document from a file and create an R object from it

### Usage

      read_yaml(file, fileEncoding = "UTF-8", text, error.label, ...)

### Arguments

`file` | either a character string naming a file or a connection open for writing
`fileEncoding` | character string: if non-empty declares the encoding used on a file (not a connection) so the character data can be re-encoded. See `file`.
`text` | character string: if `file` is not supplied and this is, then data are read from the value of `text` via a text connection. Notice that a literal string can be used to include (small) data sets within R code.
`error.label` | a label to prepend to error messages (see Details).
`...` | arguments to pass to `yaml.load`

### Details

This function is a convenient wrapper for `yaml.load` and is a nicer alternative to `yaml.load_file`.

You can specify a label to be prepended to error messages via the `error.label` argument. If `error.label` is missing, `read_yaml` will make an educated guess for the value of `error.label` by either using the specified filename (when `file` is a character vector) or using the description of the supplied connection object (via the `summary` function). If `text` is used, the default value of `error.label` will be `NULL`.

### Value

If the root YAML object is a map, a named list or list with an attribute of 'keys' is returned. If the root object is a sequence, a list or vector is returned, depending on the contents of the sequence. A vector of length 1 is returned for single objects.

### Author(s)

Jeremy Stephens <jeremy.f.stephens@vumc.org>

### References

YAML: http://yaml.org

libyaml: http://pyyaml.org/wiki/LibYAML

### See Also

`yaml.load`, `write_yaml`, `yaml.load_file`

### Examples

    ## Not run:
      # reading from a file connection
      filename <- tempfile()
      cat("test: data\n", file = filename)
      con <- file(filename, "r")
      read_yaml(con)
      close(con)

      # using a filename to specify input file
      read_yaml(filename)

    ## End(Not run)

      # reading from a character vector
      read_yaml(text="- hey\n- hi\n- hello")

[Package yaml version 2.2.1 Index]