Module Csv.Rows
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 onic
(previously readRow.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 inheaders
is""
, the previous name (if any) is kept (see theheader
parameter ofof_in_obj
). Whentrue
, 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 usingRow.get
will work.
val fold_left : f:('a -> Row.t -> 'a) -> init:'a -> in_channel -> 'a
See
Csv.fold_left
.
val fold_right : f:(Row.t -> 'a -> 'a) -> in_channel -> 'a -> 'a
See
Csv.fold_right
.
val iter : f:(Row.t -> unit) -> in_channel -> unit
See
Csv.iter
.
val input_all : in_channel -> Row.t list
See
Csv.input_all
.
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
andCsv.of_in_obj
for the optional parameters. Note thathas_header
is false by default to have a uniform interface but you likely want to set it totrue
or to explicitly provideheader
.
val current : in_channel -> Row.t
See
Csv.current_record
.