Skip to content

class CSV::Parser
inherits Reference

A CSV parser. It lets you consume a CSV row by row.

Most of the time CSV#parse and CSV#each_row are more convenient.

Class methods

.new(string_or_io : String | IO, separator : Char = DEFAULT_SEPARATOR, quote_char : Char = DEFAULT_QUOTE_CHAR)

Creates a parser from a String or IO. Optionally takes the optional separator and quote_char arguments for specifying non-standard cell separators and quote characters

View source

Methods

#each_row(&) : Nil

Yields each of the remaining rows as an Array(String).

View source

#each_row

Returns an Iterator of Array(String) for the remaining rows.

View source

#next_row(array : Array(String)) : Array(String)?

Reads the next row into the given array. Returns that same array, if a row was found, or nil.

View source

#next_row : Array(String)?

Returns the next row in the CSV, if any, or nil.

View source

#parse : Array(Array(String))

Returns the remaining rows.

View source

#rewind

Rewinds this parser to the beginning.

View source