package csv

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Accessing rows (when a header was provided).

val header : in_channel -> string list

The header declared for this channel.

val set_header : ?replace:bool -> in_channel -> string list -> unit

set_header ic headers set the new header for all subsequent reads on ic (previously read Row.t values are unaffected). This is useful for example to compose an unusual header after reading several lines of the CSV data.

  • parameter replace

    When false (the default), if an entry in headers is "", the previous name (if any) is kept (see the header parameter of of_in_obj). When true, an entry "" means there is no access by name for that column.

val next : in_channel -> Row.t

See Csv.next. If no header was declared for the channel, this function will work but only access using Row.get will work.

val fold_left : f:('a -> Row.t -> 'a) -> init:'a -> in_channel -> 'a
val fold_right : f:(Row.t -> 'a -> 'a) -> in_channel -> 'a -> 'a
val iter : f:(Row.t -> unit) -> in_channel -> unit
val input_all : in_channel -> Row.t list
val load : ?separator:char -> ?strip:bool -> ?has_header:bool -> ?header:string list -> ?backslash_escape:bool -> ?excel_tricks:bool -> ?fix:bool -> string -> Row.t list

See Csv.load and Csv.of_in_obj for the optional parameters. Note that has_header is false by default to have a uniform interface but you likely want to set it to true or to explicitly provide header.

val current : in_channel -> Row.t