Print csv files in columnated format, either plain or as a Markdown or LaTeX table
Project description
csvprint
A command-line utility for pretty printing csv files and converting to other formats.
Installation
If Python 3 with the package manager pip is installed, doing pip3 install csvprint
in your terminal should do the trick.
Development installation
With pipenv installed.
- Clone this repo
- Do
pipenv install
pipenv shell
pip install -e .
Usage
csvprint [filename]
prints a formatted table if filename
is a comma separated file.
» cat imdb.csv
Title,Release Year,Estimated Budget
Shawshank Redemption,1994,$25 000 000
The Godfather,1972,$6 000 000
The Godfather: Part II,1974,$13 000 000
The Dark Knight,2008,$185 000 000
12 Angry Men,1957,$350 000
» csvprint imdb.csv
Title Release Year Estimated Budget
Shawshank Redemption 1994 $25 000 000
The Godfather 1972 $6 000 000
The Godfather: Part II 1974 $13 000 000
The Dark Knight 2008 $185 000 000
12 Angry Men 1957 $350 000
You can also pipe into csvprint
:
» cat imdb.csv | csvprint
Title Release Year Estimated Budget
Shawshank Redemption 1994 $25 000 000
The Godfather 1972 $6 000 000
The Godfather: Part II 1974 $13 000 000
The Dark Knight 2008 $185 000 000
12 Angry Men 1957 $350 000
Options
Command | Result |
---|---|
-a |
specify alignment (left or right) - see examples below |
-c |
specify which columns to print |
-h |
print help message |
--markdown |
print as markdown |
--latex |
print as latex table |
--numeric [c1:d1] [c2:d2] ... |
specify decimal numbers for chosen numeric columns (c for column, d for digits) |
--header |
add header decoration around the first line |
-s 'char' |
file is delimited by char (instead of comma), tab for tab |
-p [n] |
add a padding of n spaces for each column, on both sides |
-d [string] |
specify the string to separate columns |
Alignment example
There are three options for specifying alignment. One can use l
or r
for aligning all cells to the left or right, respectively. One can also specify a distinct alignment option for each column. Then the number of options will need to match the number of columns.
» csvprint imdb.csv -a l r r
Title Release Year Estimated Budget
Shawshank Redemption 1994 $25 000 000
The Godfather 1972 $6 000 000
The Godfather: Part II 1974 $13 000 000
The Dark Knight 2008 $185 000 000
12 Angry Men 1957 $350 000
Markdown example
Markdown output also supports left and right alignment.
» csvprint examples/imdb.csv --markdown -a l r r
Title | Release Year | Estimated Budget
:----------------------|-------------:|----------------:
Shawshank Redemption | 1994 | $25 000 000
The Godfather | 1972 | $6 000 000
The Godfather: Part II | 1974 | $13 000 000
The Dark Knight | 2008 | $185 000 000
12 Angry Men | 1957 | $350 000
When rendered as HTML, this looks like
Title | Release Year | Estimated Budget |
---|---|---|
Shawshank Redemption | 1994 | $25 000 000 |
The Godfather | 1972 | $6 000 000 |
The Godfather: Part II | 1974 | $13 000 000 |
The Dark Knight | 2008 | $185 000 000 |
12 Angry Men | 1957 | $350 000 |
Numeric example
» csvprint examples/numeric.csv
measure1 measure2
1.2323 9000
1.299 9000001
» csvprint examples/numeric.csv --numeric 1:1 2:1
measure1 measure2
1.2 9000.0
1.3 9000001.0
Testing
Run pytest
while in the root directory of this repository.
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 csvprint-0.7.1.tar.gz
.
File metadata
- Download URL: csvprint-0.7.1.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.2 CPython/3.7.4 Darwin/19.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
3c00f88f0fceade8c1f8e58255d1859c8f6ac04a81a2a15d448b457e6bbd5fef
|
|
MD5 |
7a99c2f5b2090d7ca420c8bfc2867363
|
|
BLAKE2b-256 |
9a716a33e307b4b94cdcc7a517c2c3baa188e04437d813b7d93005d1ea04a472
|
File details
Details for the file csvprint-0.7.1-py3-none-any.whl
.
File metadata
- Download URL: csvprint-0.7.1-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.2 CPython/3.7.4 Darwin/19.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
49bfc28db9961dce72ad056561c4549010d69e44c59f605db478884945dab371
|
|
MD5 |
9abd46d6300ce9e934f9adb03095e4e6
|
|
BLAKE2b-256 |
64ee3d025b7e1fc67656dcb090e30c106216a221949dda8a1a6ae6f65fd2a9c4
|