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, readLines.warn=TRUE, ...)
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 |
text |
character string: if |
error.label |
a label to prepend to error messages (see Details). |
readLines.warn |
logical (default:TRUE) suppress warnings from readLines used inside read_yaml |
... |
arguments to pass to |
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: https://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")