NAME
Catmandu::Exporter::CSV - a CSV exporter
SYNOPSIS
# On the command line
$ catmandu convert XSL to CSV < data.xls
$ catmandu convert JSON to CSV --fix myfixes.txt --sep_char ';' < data.json
# Provide a hint to the exporter which fields to export from the JSON
# input. By default the CSV exporter will export the fields that are
# found in the first JSON record.
$ catmandu convert JSON to CSV --fields "id,title,year" < data.json
# In a Perl script
use Catmandu;
my $exporter = Catmandu->exporter('CSV',
fix => 'myfix.txt',
quote_char => '"',
sep_char => ',',
escape_char => '"' ,
always_quote => 1,
header => 1);
$exporter->fields("f1,f2,f3");
$exporter->fields([qw(f1 f2 f3)]);
$exporter->add_many($arrayref);
$exporter->add_many($iterator);
$exporter->add_many(sub { });
$exporter->add($hashref);
printf "exported %d items\n" , $exporter->count;
DESCRIPTION
This Catmandu::Exporter
exports items as rows with comma-separated values (CSV). Serialization is based on Text::CSV. A header line with field names will be included if option header
is set. See Catmandu::TabularExporter on how to configure the field mapping and column names. Newlines and tabulator values in field values are escaped as \n
, \r
, and \t
.
Hint: by default, the exporter will output all the fields that are found in the first record of the data input. This can be changed by setting the fields
option of the exporter.
CONFIGURATION
- file
-
Write output to a local file given by its path or file handle. Alternatively a scalar reference can be passed to write to a string and a code reference can be used to write to a callback function.
- fh
-
Write the output to an IO::Handle. If not specified, Catmandu::Util::io is used to create the output handle from the
file
argument or by using STDOUT. - fix
-
An ARRAY of one or more fixes or file scripts to be applied to exported items.
- encoding
-
Binmode of the output stream
fh
. Set to ":utf8
" by default. - sep_char
-
Column separator (
,
by default) - quote_char
-
Quotation character (
"
by default) - escape_char
-
Character for escaping inside quoted field (
"
by default) - fields
- columns
- header
-
Include a header line with column names. Enabled by default.
METHODS
See Catmandu::TabularExporter, Catmandu::Exporter, Catmandu::Addable, Catmandu::Fixable, Catmandu::Counter, and Catmandu::Logger for a full list of methods.
SEE ALSO
Catmandu::Importer::CSV, Catmandu::Exporter::Table Catmandu::Exporter::XLS