Skip to main content

tsvkit

TSV toolkit: print header, aligned display, descriptive statistics, pattern match, add a column, reorder columns, supports TSV, CSV, XLS and XLSX

Installation

pip install tsvkit==0.5.5

Usage

$ tsvkit --help
usage: tsvkit [-h] [-H] [-v] [-s] [-p PATTERN] [-a ADD] [-r REORDER]
              [-w WIDTH] [-n NLINES] [-V]
              [input]

TSV toolkit 0.5.5

positional arguments:
  input                 file to parse, tab-delimited, default: stdin

optional arguments:
  -h, --help            show this help message and exit
  -H, --header          print header or include header in the output
  -v, --view            aligned display of each column
  -s, --stat            descriptive statistics
  -p PATTERN, --pattern PATTERN
                        pattern to match, wrap in single quotes
  -a ADD, --add ADD     add a new column with pattern, wrap in single quotes
  -r REORDER, --reorder REORDER
                        reorder columns, comma separated list of column numbers
  -w WIDTH, --width WIDTH
                        limit of column width, used with -v, default: 100
  -n NLINES, --nlines NLINES
                        max number of lines to view, used with -v, 0 for unlimited, default: 100
  -V, --version         show program's version number and exit

Example

$ head data/data.tsv
instant	weekday	workingday	weathersit	temp	atemp	hum	windspeed	casual	registered	cnt
1	6	0	2	0.344167	0.363625	0.805833	0.160446	331	654	985
2	0	0	2	0.363478	0.353739	0.696087	0.248539	131	670	801
3	1	1	1	0.196364	0.189405	0.437273	0.248309	120	1229	1349
4	2	1	1	0.2	0.212122	0.590435	0.160296	108	1454	1562
5	3	1	1	0.226957	0.22927	0.436957	0.1869	82	1518	1600
6	4	1	1	0.204348	0.233209	0.518261	0.0895652	88	1518	1606
7	5	1	2	0.196522	0.208839	0.498696	0.168726	148	1362	1510
8	6	0	2	0.165	0.162254	0.535833	0.266804	68	891	959
9	0	0	1	0.138333	0.116175	0.434167	0.36195	54	768	822

print header or include header in output

$ tsvkit -H data/data.tsv
1	instant
2	weekday
3	workingday
4	weathersit
5	temp
6	atemp
7	hum
8	windspeed
9	casual
10	registered
11	cnt

aligned display of each column

$ head data/data.tsv | tsvkit -v
instant  weekday  workingday  weathersit  temp      atemp     hum       windspeed  casual  registered  cnt
1        6        0           2           0.344167  0.363625  0.805833  0.160446   331     654         985
2        0        0           2           0.363478  0.353739  0.696087  0.248539   131     670         801
3        1        1           1           0.196364  0.189405  0.437273  0.248309   120     1229        1349
4        2        1           1           0.2       0.212122  0.590435  0.160296   108     1454        1562
5        3        1           1           0.226957  0.22927   0.436957  0.1869     82      1518        1600
6        4        1           1           0.204348  0.233209  0.518261  0.0895652  88      1518        1606
7        5        1           2           0.196522  0.208839  0.498696  0.168726   148     1362        1510
8        6        0           2           0.165     0.162254  0.535833  0.266804   68      891         959
9        0        0           1           0.138333  0.116175  0.434167  0.36195    54      768         822

$ head data/data.tsv | tsvkit -v -w 5
insta  weekd  worki  weath  temp   atemp  hum    winds  casua  regis  cnt
1      6      0      2      0.344  0.363  0.805  0.160  331    654    985
2      0      0      2      0.363  0.353  0.696  0.248  131    670    801
3      1      1      1      0.196  0.189  0.437  0.248  120    1229   1349
4      2      1      1      0.2    0.212  0.590  0.160  108    1454   1562
5      3      1      1      0.226  0.229  0.436  0.186  82     1518   1600
6      4      1      1      0.204  0.233  0.518  0.089  88     1518   1606
7      5      1      2      0.196  0.208  0.498  0.168  148    1362   1510
8      6      0      2      0.165  0.162  0.535  0.266  68     891    959
9      0      0      1      0.138  0.116  0.434  0.361  54     768    822

descriptive statistics

$ tsvkit -s -H -v data/data.tsv
column  instant  weekday  workingday  weathersit  temp    atemp   hum     windspeed  casual  registered  cnt
count   50       50       50          50          50      50      50      50         50      50          50
min     1.0      0.0      0.0         1.0         0.0591  0.0791  0.1879  0.0454     9.0     416.0       431.0
max     50.0     6.0      1.0         3.0         0.5217  0.512   0.9292  0.5075     579.0   2348.0      2927.0
mean    25.5     3.06     0.68        1.4         0.2271  0.2327  0.5656  0.2088     136.98  1283.7      1420.7
median  25.5     3.0      1.0         1.0         0.2078  0.226   0.5367  0.1914     90.5    1321.5      1486.5
std     14.431   2.024    0.4665      0.5292      0.0877  0.085   0.1515  0.092      123.31  406.0       451.3

pattern to match

$ cat data/data.tsv | tsvkit -p 'int($1)<20 and $5.startswith("0.1")' -v -H
instant  weekday  workingday  weathersit  temp      atemp     hum       windspeed  casual  registered  cnt
3        1        1           1           0.196364  0.189405  0.437273  0.248309   120     1229        1349
7        5        1           2           0.196522  0.208839  0.498696  0.168726   148     1362        1510
8        6        0           2           0.165     0.162254  0.535833  0.266804   68      891         959
9        0        0           1           0.138333  0.116175  0.434167  0.36195    54      768         822
10       1        1           1           0.150833  0.150888  0.482917  0.223267   41      1280        1321
11       2        1           2           0.169091  0.191464  0.686364  0.122132   43      1220        1263
12       3        1           1           0.172727  0.160473  0.599545  0.304627   25      1137        1162
13       4        1           1           0.165     0.150883  0.470417  0.301      38      1368        1406
14       5        1           1           0.16087   0.188413  0.537826  0.126548   54      1367        1421
17       1        0           2           0.175833  0.176771  0.5375    0.194017   117     883         1000

add a new column with pattern

$ cat data/data.tsv | tsvkit -H -a 'int($1)+int($2)' -v | head
instant  weekday  workingday  weathersit  temp       atemp      hum       windspeed  casual  registered  cnt   int($1)+int($2)
1        6        0           2           0.344167   0.363625   0.805833  0.160446   331     654         985   7
2        0        0           2           0.363478   0.353739   0.696087  0.248539   131     670         801   2
3        1        1           1           0.196364   0.189405   0.437273  0.248309   120     1229        1349  4
4        2        1           1           0.2        0.212122   0.590435  0.160296   108     1454        1562  6
5        3        1           1           0.226957   0.22927    0.436957  0.1869     82      1518        1600  8
6        4        1           1           0.204348   0.233209   0.518261  0.0895652  88      1518        1606  10
7        5        1           2           0.196522   0.208839   0.498696  0.168726   148     1362        1510  12
8        6        0           2           0.165      0.162254   0.535833  0.266804   68      891         959   14
9        0        0           1           0.138333   0.116175   0.434167  0.36195    54      768         822   9

reorder columns

$ cat data/data.tsv | tsvkit -r 2,3,1,1 -v | head
weekday  workingday  instant  instant
6        0           1        1
0        0           2        2
1        1           3        3
2        1           4        4
3        1           5        5
4        1           6        6
5        1           7        7
6        0           8        8
0        0           9        9

all functions support CSV, XLS and XLSX, by specifying the file name

$ tsvkit data/data.xlsx -r 2,3,1,1 -v | head
weekday  workingday  instant  instant
6        0           1        1
0        0           2        2
1        1           3        3
2        1           4        4
3        1           5        5
4        1           6        6
5        1           7        7
6        0           8        8
0        0           9        9

Metadata

Release files for tsvkit 0.5.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tsvkit 0.5.5
File Size Uploaded
tsvkit-0.5.5.tar.gz 33.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tsvkit 0.5.5
File Interpreter ABI Platform
tsvkit-0.5.5-py3-none-any.whl Python 3 none any Details

Total release size: 39.1 kB

Release files / tsvkit-0.5.5.tar.gz

Download URL tsvkit-0.5.5.tar.gz
Size 33.1 kB
Tags Source
SHA-256 checksum
How to use checksums
07ef7745ad00a7408980e426c453018e92ab02467cf493124fa81f3474d41d4b
BLAKE2b-256 checksum
How to use checksums
76d82dd2e275bd242c8eb4206965446f8e1a920fe0ce73cb98d105af8094f54b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

Release files / tsvkit-0.5.5-py3-none-any.whl

Download URL tsvkit-0.5.5-py3-none-any.whl
Size 6.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
26667184af000829b795039c6e19b4d5b23841e694a98faaa116cc9d9480be11
BLAKE2b-256 checksum
How to use checksums
1d7b670c46f2517df083016fd2c56bbb61a5787d9f67cda8079f4ceef1e85eff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

Release history Release notifications | RSS feed

This release

0.5.5 This release

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.7

2 release files

0.0.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page