Command line tool for converting CSV files into Markdown tables.
Project description
csv2md
Command line tool for converting CSV files into Markdown tables.
Installation
csv2md can be installed from source:
# type in project directory
python setup.py install
Or with pip
from PyPI:
pip install csv2md
Requirements
- Python 3.6 or later. See https://www.python.org/getit/
Usage
Generate Markdown table from CSV file:
csv2md table.csv
Generate Markdown table from TSV file:
csv2md -d $'\t' table.tsv
Generate Markdown tables from list of CSV files:
csv2md table1.csv table2.csv table3.csv
Generate Markdown table from standard input:
csv2md
You can also use it right inside your code, for example:
from csv2md.table import Table
with open("input.csv") as f:
table = Table.parse_csv(f)
print(table.markdown())
Examples
Input file: simple.csv
year,make,model,description,price
1997,Ford,E350,"ac, abs, moon",3000.00
1999,Chevy,"Venture «Extended Edition»","",4900.00
1996,Jeep,Grand Cherokee,"MUST SELL! air, moon roof, loaded",4799.00
Output: csv2md simple.csv
| year | make | model | description | price |
| ---- | ----- | -------------------------- | --------------------------------- | ------- |
| 1997 | Ford | E350 | ac, abs, moon | 3000.00 |
| 1999 | Chevy | Venture «Extended Edition» | | 4900.00 |
| 1996 | Jeep | Grand Cherokee | MUST SELL! air, moon roof, loaded | 4799.00 |
Markdown table:
year | make | model | description | price |
---|---|---|---|---|
1997 | Ford | E350 | ac, abs, moon | 3000.00 |
1999 | Chevy | Venture «Extended Edition» | 4900.00 | |
1996 | Jeep | Grand Cherokee | MUST SELL! air, moon roof, loaded | 4799.00 |
You can also specify delimiter, quotation characters and alignment (see Help).
Help
To view help run csv2md -h
:
usage: csv2md [-h] [-d DELIMITER] [-q QUOTECHAR] [-c [CENTER_ALIGNED_COLUMNS ...]] [-r [RIGHT_ALIGNED_COLUMNS ...]] [-H] [CSV_FILE ...]
Parse CSV files into Markdown tables.
positional arguments:
CSV_FILE One or more CSV files to parse
options:
-h, --help show this help message and exit
-d DELIMITER, --delimiter DELIMITER
delimiter character. Default is ','
-q QUOTECHAR, --quotechar QUOTECHAR
quotation character. Default is '"'
-c [CENTER_ALIGNED_COLUMNS ...], --center-aligned-columns [CENTER_ALIGNED_COLUMNS ...]
column numbers with center alignment (from zero)
-r [RIGHT_ALIGNED_COLUMNS ...], --right-aligned-columns [RIGHT_ALIGNED_COLUMNS ...]
column numbers with right alignment (from zero)
-H, --no-header-row specify that the input CSV file has no header row. Will create default headers in Excel format (a,b,c,...)
Running Tests
To run the tests, enter:
nosetest
Issue tracker
Please report any bugs and enhancement ideas using the csv2md issue tracker:
https://github.com/lzakharov/csv2md/issues
Feel free to also ask questions on the tracker.
License
Copyright (c) 2023 Lev Zakharov. Licensed under the MIT License.
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 Distribution
Built Distribution
File details
Details for the file csv2md_tddschn-1.3.1.tar.gz
.
File metadata
- Download URL: csv2md_tddschn-1.3.1.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.12.0 Darwin/23.1.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78dcaae826d49fea7aa091df4f3076f943962f03bca6eb05deab35c8cf896fa9 |
|
MD5 | 45529063007af01928c1e1a509caf950 |
|
BLAKE2b-256 | de0af688f082432b8c648813d8600db394ab88dbd7c939da0655ef7de703a4e1 |
File details
Details for the file csv2md_tddschn-1.3.1-py3-none-any.whl
.
File metadata
- Download URL: csv2md_tddschn-1.3.1-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.12.0 Darwin/23.1.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | de272f19dd3d992592b4c2e29843fdb380c09f33ed53bef447e474b5fb738a1f |
|
MD5 | 4421e91c5f0a6f50efe993c39a3f375d |
|
BLAKE2b-256 | e4929fc9366b16bbbc67fbafbbb2bee2cc7b61d36350715055b5203befe6e603 |