X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=csv.mli;h=14901e48120b68715cb95f83b9bb65a21fa85a75;hb=3a2b495714080c9f72b89cada8bc45b22768a059;hp=baf9e5c563cbb75f227c77aacc79833a3e8dab19;hpb=96ff72437cc1cbea49fe9599048ab61a4d11fde8;p=ocaml-csv.git diff --git a/csv.mli b/csv.mli index baf9e5c..14901e4 100644 --- a/csv.mli +++ b/csv.mli @@ -1,6 +1,6 @@ (** csv.mli - comma separated values parser * - * $Id: csv.mli,v 1.7 2005-11-25 14:08:46 rich Exp $ + * $Id: csv.mli,v 1.10 2006-11-24 15:49:24 rich Exp $ *) type t = string list list @@ -26,6 +26,7 @@ val load_in : ?separator:char -> in_channel -> t val load : ?separator:char -> string -> t (** Load a CSV file. * @param filename CSV filename. + * If [filename] is ["-"] then load from [stdin]. *) val load_rows : ?separator:char -> (string list -> unit) -> in_channel -> unit @@ -105,6 +106,22 @@ val sub : int -> int -> int -> int -> t -> t * The returned CSV will be square. *) +val compare : t -> t -> int +(** Compare two CSV files for equality, ignoring blank cells at the end + * of a row, and empty rows appended to one or the other. This is + * "semantic" equality - roughly speaking, the two CSV files would + * look the same if opened in a spreadsheet program. + *) + +val concat : t list -> t +(** Concatenate CSV files so that they appear side by side, arranged + * left to right across the page. Each CSV file (except the final + * one) is first squared. + * + * (To concatenate CSV files so that they appear from top to bottom, + * just use {!List.concat}). + *) + val to_array : t -> string array array val of_array : string array array -> t (** Convenience functions to convert to and from a matrix representation.