NAME
Catmandu::Exporter::Table - ASCII/Markdown table exporter
SYNOPSIS
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 |
DESCRIPTION
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 <http://johnmacfarlane.net/pandoc/> too further convert to other table formats, e.g. "latex", "html5", "mediawiki":
catmandu convert XLS to Table < sheet.xls | pandoc -t html5
By default columns are sorted alphabetically by field name.
CONFIGURATION
Table output can be controlled with the options "fields", "columns", "widths", and "condense" as documented in Text::MarkdownTable.
- file
- fh
- encoding
- fix
-
Standard options of <Catmandu:Exporter>
- condense
-
Write table in condense format with unaligned columns.
- fields
-
Field names as comma-separated list or array reference.
- columns
-
Column names as comma-separated list or array reference. By default field names are used as column names.
- header
-
Include header lines. Enabled by default.
- widths
-
Column widths as comma-separated list or array references. Calculated from all rows by default. Long cell values can get truncated with this option.
- schema
-
Supply fields and (optionally) columns in a JSON Table Schema <http://dataprotocols.org/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)" },...]}
METHODS
See Catmandu::Exporter
SEE ALSO
This module is based on Text::MarkdownTable.
Similar Catmandu Exporters for tabular data include Catmandu::Exporter::CSV, Catmandu::Exporter::XLS, and Catmandu::Exporter::XLSX.