NAME¶
Catmandu::Importer::TSV - Package that imports tab-separated values
SYNOPSIS¶
# From the command line
# convert a TSV file to JSON
catmandu convert TSV to JSON < journals.tab
# Or in a Perl script
use Catmandu;
my $importer = Catmandu->importer('TSV', file => "/foo/bar.tab");
my $n = $importer->each(sub {
my $hashref = $_[0];
# ...
});
DESCRIPTION¶
This package imports tab-separated values (TSV). The object fields are read from
the TSV header line or given via the
"fields" parameter.
CONFIGURATION¶
- file
- Read input from a local file given by its path. Alternatively a scalar
reference can be passed to read from a string.
- fh
- Read input from an IO::Handle. If not specified, Catmandu::Util::io is
used to create the input stream from the
"file" argument or by using STDIN.
- encoding
- Binmode of the input stream "fh". Set to
":utf8" by default.
- fix
- An ARRAY of one or more fixes or file scripts to be applied to imported
items.
- fields
- List of fields to be used as columns, given as array reference,
comma-separated string, or hash reference. If
"header" is 0
and "fields" is
"undef" the fields will be named by
column index ("0", "1", "2", ...).
- header
- Read fields from a header line with the column names, if set to
1 (the default).
- sep_char
- Column separator ("tab" by default)
METHODS¶
Every Catmandu::Importer is a Catmandu::Iterable all its methods are inherited.
The methods are not idempotent: CSV streams can only be read once.
SEE ALSO¶
Catmandu::Exporter::TSV