mdtable

mdtable converts csv files to markdown formatted tables


Keywords
markdown, cli, convert
License
MIT
Install
pip install mdtable==0.2

Documentation

đź“‹ mdtable

PyPI License Code Style: Black Downloads

mdtable is a Python built command line interface that lets you convert csv files into Markdown formatted tables easily. It also provides a Python API to use for your projects.

Installation

Run pip install mdtable and check that the latest version is current installed by running mdtable —version.

Usage

>>> mdtable [OPTIONS] INPUT_FILE

The options available are:

-a, --aligns TEXT      Comma seperated list of 'l,r,c'
-p, --padding INTEGER  Padding for raw Markdown Table formatting
-s, --save TEXT        Path to save formatted markdown to
--delimiter TEXT       Delimiter character in csv
--quotechar TEXT       Quote character in csv
--escapechar TEXT      Escape character in csv
--writemode TEXT       Python write mode, e.g w+, w, a, a+
--version              Show the version and exit.
--help                 Show this message and exit.

Example:

Suppose you have a file input.csv like so:

Name,Department,Birthday Month
John Smith,Accounting,November
Erica Meyers,IT,March
Zain Patel,Engineering,June
Christopher Smith,Engineering,July
Kiseki Hirakawa,Human Resources,February

Running mdtable input.csv results in:

| Name              | Department      | Birthday Month |
| ----------------- | --------------- | -------------- |
| John Smith        | Accounting      | November       |
| Erica Meyers      | IT              | March          |
| Zain Patel        | Engineering     | June           |
| Christopher Smith | Engineering     | July           |
| Kiseki Hirakawa   | Human Resources | February       |

which looks like:

Name Department Birthday Month
John Smith Accounting November
Erica Meyers IT March
Zain Patel Engineering June
Christopher Smith Engineering July
Kiseki Hirakawa Human Resources February

API

[soon] more documentation

Example:

from mdtable import MDTable

markdown = MDTable('in.csv')
markdown_string_table = markdown.get_table()
markdown.save_table('out.csv')

Current Features

  • Ability to specify alignments, by providing a comma seperated string of alignments values (either 'l', 'r' or 'c') to mdtables —aligns [ALIGNS] INPUT_FILE, say for example mdtables —aligns c,c,l input.csv, there must be as many alignments characters as there are tables.

  • Ability to save output to a markdown file (and specify the writing mode) by providing the path to the file you wish to save to mdtables —save [SAVE_FILE] INPTUT_FILE say for example mdtables —save output.md input.csv

  • Provide custom delimiter, quotation and escape characters for reading in your csv file. This is done by providing the character to —delimiter, —quotechar, —escapehcar respectively.

  • Add a padding option to make table border padding customisable (in the raw output). This can now be done. Running mdtable input.csv -p 3 returns

    |   Name                |   Department        |   Birthday Month   |
    |   -----------------   |   ---------------   |   --------------   |
    |   John Smith          |   Accounting        |   November         |
    |   Erica Meyers        |   IT                |   March            |
    |   Zain Patel          |   Engineering       |   June             |
    |   Christopher Smith   |   Engineering       |   July             |
    |   Kiseki Hirakawa     |   Human Resources   |   February         |
    
  • [ ]

Future Features

  • Implement a centering flag (for raw output) to prettify the output if required
  • Enable 0 padding
  • Add documentation for the API
  • Implement tests for delimeters``, quotechars and escapechars.