<< csv_textscan CSV read write files

CSV read write files >> CSV read write files > csv_write

csv_write

Write comma-separated value file

Calling Sequence

csv_write(M, filename)
csv_write(M, filename, separator)
csv_write(M, filename, separator, decimal)
csv_write(M, filename, separator, decimal, precision)
csv_write(M, filename, separator, decimal, precision, comments)

Parameters

filename

a 1-by-1 matrix of strings, the file path.

M

a m-by-n matrix of strings or double (complex supported).

separator

a 1-by-1 matrix of strings, the column separator mark.

decimal

a 1-by-1 matrix of strings, the decimal mark. The available values are "." or ",".

precision

a 1-by-1 matrix of strings, the C format.

comments

a m-by-1 matrix of strings, the comments stored at the beginning of the file. This option may be used, for example, to put a licence header in a data file.

Description

This function writes matrix M into filename as comma-separated values.

The default value of the optional input arguments are defined by the csv_default function.

Any optional input argument equal to the empty matrix [] is set to its default value.

If the file filename already exists, it is overwritten.

Examples

In the following example, we combine the csv_write and csv_read functions.

// Save a matrix as csv file format
M = [1:10] * 0.1;
filename = fullfile(TMPDIR, "datas.csv");
csv_write(M, filename);

// Read as text
mgetl(filename)

r = csv_read(filename);

In the following example, we use various options of the csv_write function.

// Save a matrix as csv file format
M = rand(2,3);
filename = fullfile(TMPDIR, "datas.csv");
//
// Use tabs as the separator
csv_write(M, filename,ascii(9));
mgetl(filename)
//
// Use the "," as the decimal point
// (and blank space as the separator).
csv_write(M, filename," ",",");
mgetl(filename)
//
// Configure the precision.
// Caution: this lower precision may generate 
// errors in a write-read cycle!
csv_write(M, filename,[],[],"%.8e");
mgetl(filename)
//
// Configure the comments
comments = [
"// Copyright (C) DIGITEO"
"//  This file must be used under the terms of the CeCILL."
];
csv_write(M, filename,[],[],[],comments);
mgetl(filename)

The following examples are more advanced uses of the csv_write function.

A = [
1 0 200 %inf 0
1 1.e-300 200 %inf 0
9.99999999999990010e-001 9.99999999999999980e-201 200 3.15e300 102
9.99999999899999990e-001 1.e-100 200 296 117
1 %inf -%inf %nan 0
];
// Write into a file
filename=fullfile(TMPDIR,"foo.csv");
csv_write ( A , filename );
edit(filename)

See Also

Author

Copyright (C) 2010-2011 - DIGITEO - Allan CORNET

Copyright (C) 2011 - DIGITEO - Michael Baudin

<< csv_textscan CSV read write files