| Catmandu::Exporter::Table(3pm) | User Contributed Perl Documentation | Catmandu::Exporter::Table(3pm) |
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 <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.
Table output can be controlled with the options "fields", "columns", "widths", and "condense" as documented in Text::MarkdownTable.
{
"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.
| 2023-02-11 | perl v5.36.0 |