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
is0
andfields
isundef
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.