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", ...).

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