Skip to main content

mdtable converts csv files to markdown formatted tables

Project description

mdtable

PyPI License Code Style: Black

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'
-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.

Future Features

  • Implement a raw centering flag to prettify the output if required
  • Add a padding option to make table border padding customisable
  • Add documentation for the API

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

mdtable-0.1-py3-none-any.whl (6.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page