Catmandu::Importer::TSV(3pm)

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