Feather provides binary columnar serialization for data frames. It is designed to make reading and writing data frames efficient, and to make sharing data across data analysis languages easy. This function reads both the original, limited specification of the format and the version 2 specification, which is the Apache Arrow IPC file format.

read_feather(file, col_select = NULL, as_data_frame = TRUE, ...)



A character file name, raw vector, or an Arrow input stream. If a file name, a memory-mapped Arrow InputStream will be opened and closed when finished. If an input stream is provided, it will be left open.


A character vector of column names to keep, as in the "select" argument to data.table::fread(), or a tidy selection specification of columns, as used in dplyr::select().


Should the function return a data.frame (default) or an Arrow Table?


additional parameters, passed to FeatherReader$create()


A data.frame if as_data_frame is TRUE (the default), or an Arrow Table otherwise

See also

FeatherReader and RecordBatchReader for lower-level access to reading Arrow IPC data.


# \donttest{ tf <- tempfile() on.exit(unlink(tf)) write_feather(mtcars, tf) df <- read_feather(tf) dim(df)
#> [1] 32 11
# Can select columns df <- read_feather(tf, col_select = starts_with("d")) # }