.TH IM_CSV 3 "November 2000"
.SH NAME
im_csv2vips, im_vips2csv \- read and write CSV (comma separated values) files
.SH SYNOPSIS
#include <vips/vips.h>

int im_csv2vips( const char *filename, IMAGE *out )

int im_vips2csv( IMAGE *in, const char *filename )

.SH DESCRIPTION
.B im_csv2vips(3) 
reads the CSV (comma separated values) data in filename, and writes the image 
out in VIPS format. The output image is always 1 band (monochrome),
IM_BANDFMT_DOUBLE. 

The reader is deliberately rather fussy: it will fail if there are any short
lines, or if the file is too short. It will ignore lines that are too long.

Read options can be embedded in the filename. The options can be given in any
order and are:

  skip:lines-to-skip

The number of lines to skip at the start of the file. Default zero.

  whi:whitespace-characters

The skippable whitespace characters. Default <space> and double quotes (").
Whitespace characters are always run together.

  sep:separator-characters

The characters that separate fields. Default ;,<tab>. Separators are 
never run together.

  line:lines-to-read

The number of lines to read from the file. Default -1, meaning read to end of
file.

.B im_vips2csv(3)
writes the VIPS image to the file as ascii text, one line of text per
scanline. Complex numbers are written as "(real,imaginary)" and will need 
extra parsing I guess.

Write options can be embedded in the filename. The options can be given in any
order and are:

  sep:separator-string

The string to use to separate numbers in the output. The default is "\\t" (tab).

.SH EXAMPLES

  im_csv2vips( "fred.csv:skip:58,sep:\,,line:3", out );

Will read three lines starting at line 59, with space, comma and tab as the
allowed separators. Note that the ',' has to be escaped with a backslash.

  im_vips2csv fred.jpg fred.csv:sep:\t

Convert a jpeg to CSV, separating numbers with tab characters.

.SH SEE ALSO
im_read_dmask(3), im_ppm2vips(3)
.SH COPYRIGHT
Hey, you want this? You have it!