mdtable converts csv files to markdown formatted tables
Project description
:clipboard: mdtable
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 examplemdtables —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 examplemdtables —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
andescapechars
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file mdtable-0.2-py3-none-any.whl
.
File metadata
- Download URL: mdtable-0.2-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c01e289ab3519fd13c8cd0c81db561fcfa1854696ef2148d2c99cd2854171610 |
|
MD5 | f59b12d5031f7d970c66033caf540caa |
|
BLAKE2b-256 | 2e570f4b51601327dd318c287489e161a0463f13332e3d406cad79d239c67ad6 |