Catmandu::Exporter::Table - ASCII/Markdown table exporter
With catmandu command line client:
echo '{"one":"my","two":"table"} {"one":"is","two":"nice"}' | \ catmandu convert JSON --multiline 1 to Table | one | two | |-----|-------| | my | table | | is | nice | catmandu convert CSV to Table --fields id,name --columns ID,Name < sample.csv | ID | Name | |----|------| | 23 | foo | | 42 | bar | | 99 | doz |
In Perl scripts:
use Catmandu::Exporter::Table; my $exp = Catmandu::Exporter::Table->new; $exp->add({ title => "The Hobbit", author => "Tolkien" }); $exp->add({ title => "Where the Wild Things Are", author => "Sendak" }); $exp->add({ title => "One Thousand and One Nights" }); $exp->commit; | author | title | |---------|-----------------------------| | Tolkien | The Hobbit | | Sendak | Where the Wild Things Are | | | One Thousand and One Nights |
This Catmandu::Exporter exports data in tabular form, formatted in MultiMarkdown syntax.
The output can be used for simple display, for instance to preview Excel files on the command line. Use Pandoc too further convert to other table formats, e.g. latex, html5, mediawiki:
latex
html5
mediawiki
catmandu convert XLS to Table < sheet.xls | pandoc -t html5
By default columns are sorted alphabetically by field name.
Table output can be controlled with the options fields, columns, widths, and condense as documented in Text::MarkdownTable.
fields
columns
widths
condense
Standard options of Catmandu:Exporter
Write table in condense format with unaligned columns.
Field names as comma-separated list or array reference.
Column names as comma-separated list or array reference. By default field names are used as column names.
Include header lines. Enabled by default.
Column widths as comma-separated list or array references. Calculated from all rows by default. Long cell values can get truncated with this option.
Supply fields and (optionally) columns in a JSON Table Schema as JSON file or hash reference having the following structure:
{ "fields: [ { "name": "field-name-1", "title": "column title 1 (optional)" }, { "name": "field-name-2", "title": "column title 2 (optional)" }, ... ] }
See Catmandu::Exporter
This module is based on Text::MarkdownTable.
Similar Catmandu Exporters for tabular data include Catmandu::Exporter::CSV, Catmandu::Exporter::XLS, and Catmandu::Exporter::XLSX.
To install Catmandu::Exporter::Table, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Catmandu::Exporter::Table
CPAN shell
perl -MCPAN -e shell install Catmandu::Exporter::Table
For more information on module installation, please visit the detailed CPAN module installation guide.