`sig
type t = string list list
class type in_obj_channel =
object
method close_in : unit -> unit
method input : Bytes.t -> int -> int -> int
end
class type out_obj_channel =
object
method close_out : unit -> unit
method output : Bytes.t -> int -> int -> int
end
exception Failure of int * int * string
type in_channel
val of_in_obj :
?separator:char ->
?strip:bool ->
?has_header:bool ->
?header:string list ->
?backslash_escape:bool ->
?excel_tricks:bool -> Csv.in_obj_channel -> Csv.in_channel
val of_channel :
?separator:char ->
?strip:bool ->
?has_header:bool ->
?header:string list ->
?backslash_escape:bool ->
?excel_tricks:bool -> Pervasives.in_channel -> Csv.in_channel
val of_string :
?separator:char ->
?strip:bool ->
?has_header:bool ->
?header:string list ->
?backslash_escape:bool -> ?excel_tricks:bool -> string -> Csv.in_channel
val load :
?separator:char ->
?strip:bool ->
?backslash_escape:bool -> ?excel_tricks:bool -> string -> Csv.t
val load_in :
?separator:char ->
?strip:bool ->
?backslash_escape:bool ->
?excel_tricks:bool -> Pervasives.in_channel -> Csv.t
val to_in_obj : Csv.in_channel -> Csv.in_obj_channel
val close_in : Csv.in_channel -> unit
val next : Csv.in_channel -> string list
val fold_left :
f:('a -> string list -> 'a) -> init:'a -> Csv.in_channel -> 'a
val fold_right : f:(string list -> 'a -> 'a) -> Csv.in_channel -> 'a -> 'a
val iter : f:(string list -> unit) -> Csv.in_channel -> unit
val input_all : Csv.in_channel -> Csv.t
val current_record : Csv.in_channel -> string list
val load_rows :
?separator:char ->
?strip:bool ->
?backslash_escape:bool ->
?excel_tricks:bool ->
(string list -> unit) -> Pervasives.in_channel -> unit
type out_channel
val to_out_obj :
?separator:char ->
?backslash_escape:bool ->
?excel_tricks:bool -> Csv.out_obj_channel -> Csv.out_channel
val to_channel :
?separator:char ->
?backslash_escape:bool ->
?excel_tricks:bool -> Pervasives.out_channel -> Csv.out_channel
val to_buffer :
?separator:char ->
?backslash_escape:bool ->
?excel_tricks:bool -> Buffer.t -> Csv.out_channel
val close_out : Csv.out_channel -> unit
val output_record : Csv.out_channel -> string list -> unit
val output_all : Csv.out_channel -> Csv.t -> unit
val save_out :
?separator:char ->
?backslash_escape:bool ->
?excel_tricks:bool -> Pervasives.out_channel -> Csv.t -> unit
val save :
?separator:char ->
?backslash_escape:bool -> ?excel_tricks:bool -> string -> Csv.t -> unit
val print :
?separator:char ->
?backslash_escape:bool -> ?excel_tricks:bool -> Csv.t -> unit
val print_readable : Csv.t -> unit
val save_out_readable : Pervasives.out_channel -> Csv.t -> unit
module Row :
sig
type t
val get : Csv.Row.t -> int -> string
val find : Csv.Row.t -> string -> string
val to_list : Csv.Row.t -> string list
val to_assoc : Csv.Row.t -> (string * string) list
val with_header : Csv.Row.t -> string list -> Csv.Row.t
end
module Rows :
sig
val header : Csv.in_channel -> string list
val next : Csv.in_channel -> Csv.Row.t
val fold_left :
f:('a -> Csv.Row.t -> 'a) -> init:'a -> Csv.in_channel -> 'a
val fold_right :
f:(Csv.Row.t -> 'a -> 'a) -> Csv.in_channel -> 'a -> 'a
val iter : f:(Csv.Row.t -> unit) -> Csv.in_channel -> unit
val input_all : Csv.in_channel -> Csv.Row.t list
val load :
?separator:char ->
?strip:bool ->
?has_header:bool ->
?header:string list ->
?backslash_escape:bool ->
?excel_tricks:bool -> string -> Csv.Row.t list
val current : Csv.in_channel -> Csv.Row.t
end
val lines : Csv.t -> int
val columns : Csv.t -> int
val trim :
?top:bool -> ?left:bool -> ?right:bool -> ?bottom:bool -> Csv.t -> Csv.t
val square : Csv.t -> Csv.t
val is_square : Csv.t -> bool
val set_columns : cols:int -> Csv.t -> Csv.t
val set_rows : rows:int -> Csv.t -> Csv.t
val set_size : rows:int -> cols:int -> Csv.t -> Csv.t
val sub : r:int -> c:int -> rows:int -> cols:int -> Csv.t -> Csv.t
val compare : Csv.t -> Csv.t -> int
val concat : Csv.t list -> Csv.t
val transpose : Csv.t -> Csv.t
val to_array : Csv.t -> string array array
val of_array : string array array -> Csv.t
val associate : string list -> Csv.t -> (string * string) list list
val combine : header:string list -> string list -> (string * string) list
val map : f:(string -> string) -> Csv.t -> Csv.t
end`