Nicolas Steenlant > Catmandu > Catmandu::Importer::CSV

Download:
Catmandu-0.94.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Source  

NAME ^

Catmandu::Importer::CSV - Package that imports CSV data

SYNOPSIS ^

    use Catmandu::Importer::CSV;

    my $importer = Catmandu::Importer::CSV->new(file => "/foo/bar.csv");

    my $n = $importer->each(sub {
        my $hashref = $_[0];
        # ...
    });

Convert CSV to other formats with the catmandu command line client:

    # convert CSV file to JSON
    catmandu convert CSV to JSON < journals.csv
    # set column names if CSV file has no header line
    echo '12157,"The Journal of Headache and Pain",2193-1801' | \
      catmandu convert CSV --header 0 --fields 'id,title,issn' to YAML
    # set field separator and quote character 
    echo '12157;$The Journal of Headache and Pain$;2193-1801' | \
      catmandu convert CSV --header 0 --fields 'id,title,issn' --sep_char ';' --quote_char '$' to XLSX --file journal.xlsx

DESCRIPTION ^

This Catmandu::Importer imports comma-separated values (CSV). The object fields are read from the CSV header line or given via the fields parameter. Strings in CSV are quoted by quote_char and fields are separated by sep_char.

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.

header

Read fields from a header line with the column names, if set to 1 (the default).

sep_char

Column separator (, by default)

quote_char

Quotation character (" by default)

escape_char

Character for escaping inside quoted field (" by default)

allow_loose_quotes
allow_loose_escapes

Allow common bad-practice in CSV escaping

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::CSV, Catmandu::Importer::XLS

syntax highlighting: