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
# 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".
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
- See Catmandu::TabularExporter.
- columns
- See Catmandu::TabularExporter.
- 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