Read rectangular files

These functions parse rectangular files (like csv or fixed-width format) into tibbles. They specify the overall structure of the file, and how each line is divided up into fields.

read_delim() read_csv() read_csv2() read_tsv()

Read a delimited file (including csv & tsv) into a tibble

read_fwf() fwf_empty() fwf_widths() fwf_positions() fwf_cols()

Read a fixed width file into a tibble


Read common/combined log file into a tibble

read_table() read_table2()

Read whitespace-separated columns into a tibble

Read non-rectangular files

These functions parse non-rectangular files (like csv or fixed-width format) into long (so-called melted) format. They specify the overall structure of the file, and how each line is divided up into fields.

melt_delim() melt_csv() melt_csv2() melt_tsv()

Return melted data for each token in a delimited file (including csv & tsv)


Return melted data for each token in a fixed width file

melt_table() melt_table2()

Return melted data for each token in a whitespace-separated file

Column specification

The column specification describes how each column is parsed from a character vector in to a more specific data type. readr does make an educated guess about the type of each column, but you’ll need override those guesses when it gets them wrong.

problems() stop_for_problems()

Retrieve parsing problems

cols() cols_only()

Create column specification

cols_condense() spec()

Examine the column specifications for a data frame

spec_delim() spec_csv() spec_csv2() spec_tsv() spec_table() spec_table2()

Generate a column specification

Column parsers

Column parsers define how a single column is parsed, or a parse a single vector. Each parser comes in two forms: parse_xxx() which is used to parse vectors that already exist in R and col_xxx() which is used to parse vectors as they are loaded by a read_xxx() function.

parse_logical() parse_integer() parse_double() parse_character() col_logical() col_integer() col_double() col_character()

Parse logicals, integers, and reals

parse_datetime() parse_date() parse_time() col_datetime() col_date() col_time()

Parse date/times

parse_factor() col_factor()

Parse factors

parse_guess() col_guess() guess_parser()

Parse using the "best" type

parse_number() col_number()

Parse numbers, flexibly


Skip a column

Locale controls

The “locale” controls all options that vary from country-to-country or language-to-language. This includes things like the character used as the decimal mark, the names of days of the week, and the encoding. See vignette("locales") for more details.

locale() default_locale()

Create locales

date_names() date_names_lang() date_names_langs()

Create or retrieve date names

Write rectangular files

Despite its name, readr also provides a number of functions to write data frames to disk, or to convert them to in-memory strings.

format_delim() format_csv() format_csv2() format_tsv()

Convert a data frame to a delimited string

write_delim() write_csv() write_csv2() write_excel_csv() write_excel_csv2() write_tsv()

Write a data frame to a delimited file

Low-level IO and debugging tools

These functions can be used with non-rectangular files, binary data, and to help debug rectangular files that fail to parse.

read_file() read_file_raw() write_file()

Read/write a complete file

read_lines() read_lines_raw() write_lines()

Read/write lines to/from a file


Count the number of fields in each line of a file


Guess encoding of file


Re-convert character columns in existing data frame


Get path to readr example


Returns values from the clipboard


Determine progress bars should be shown

Chunked API

The chunked API allows you to read in files that are larger than memory, processing a chunk at a time. The API experimental: please try it out but be aware that it may change in the future.


Callback classes

read_delim_chunked() read_csv_chunked() read_csv2_chunked() read_tsv_chunked()

Read a delimited file by chunks

melt_delim_chunked() melt_csv_chunked() melt_csv2_chunked() melt_tsv_chunked()

Melt a delimited file by chunks

read_lines_chunked() read_lines_raw_chunked()

Read lines from a file or string by chunk.