NAME Catmandu::Exporter::Table - ASCII/Markdown table exporter SYNOPSIS 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 --header ID,Name < sample.csv | ID | Name | |----|------| | 23 | foo | | 42 | bar | | 99 | doz | #!/usr/bin/env perl 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 CONFIGURATION Table output can be controlled with the options "fields", "columns", "widths", and "condense" as documented in Text::MarkdownTable. The additional option "schema" can be used to supply fields and (optionally) columns in a JSON Table Schema <http://dataprotocols.org/json-table-schema/>. The schema is a 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)" }, ... ] } Without "fields" or "schema", columns are sorted alphabetically by field name. METHODS See Catmandu::Exporter for additional exporter and methods ("file", "fh", "encoding", "fix"..., "add", "commit"...). SEE ALSO Text::MarkdownTable, Catmandu::Exporter::CSV