Skip to main content

This is fork from original tabkit project (https://github.com/andreifyodorov/tabkit) whith Python 3 support

A CLI TSV MR kit (a command-line interface tab-separated values map-reduce kit). Powered by coreutils.

Overview

$ cat fruits | tpretty

 fruit   | price:float
---------+-------------
 apple   | 1.04
 kumquat | 4.99
 orange  | 2.07

$ cat sales | tpretty

 fruit   | qty:int | paid:bool
---------+---------+-----------
 apple   | 10      | 1
 apple   | 7       | 0
 apple   | 1       | 1
 orange  | 3       | 1
 orange  | 18      | 1
 orange  | 4       | 0
 orange  | 2       | 1
 kumquat | 1       | 1
 kumquat | 2       | 1

$ cat sales \
        | tmap_awk -f paid \
        | tsrt -k fruit \
        | tjoin -j fruit - fruits \
        | tgrp_awk -g fruit -o "sum_qty=sum(qty)" -o "sum_paid=sum(qty*price)" \
        | tpretty

 fruit   | sum_qty:int | sum_paid:float
---------+-------------+----------------
 apple   | 11          | 11.44
 kumquat | 3           | 14.97
 orange  | 23          | 47.61

tcat

Concatenate FILE(s), or standard input, to standard output.

1.tsv:

# apples    oranges
1   foo
2   bar

2.tsv:

# apples    oranges
3   baz
4   bam
$ tcat 1.tsv 2.tsv
# apples    oranges
1   foo
2   bar
3   baz
4   bam

tcut

Print selected columns from each FILE to standard output.

input.csv:

# good  bad also_good
1   apple   foo
2   orange  bar
3   lemon   baz
$ cat input.csv | tcut -f good,also_good
#   good    also_good
1   foo
2   bar
3   baz

tsrt

Write sorted concatenation of all FILE(s) to standard output.

input.csv:

# number    fruit
10  apple
3   orange
10  lemon
$ cat input.csv | tsrt -k good:num,fruit:desc
# number    fruit   # ORDER: number:num, fruit:desc
3   orange
10  lemon
10  apple

tmap_awk

Perform a map operation on the input FILE(s).

input.csv:

# x
.1
4
-0.5
0
$ cat input.csv | tmap_awk -f 'x>0' -o 'y=log(x)'
# y:float
-2.30259
1.38629

Download files

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

Source Distribution

tabkit3-0.8.0.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tabkit3-0.8.0.macosx-10.11-x86_64.tar.gz (33.6 kB view details)

Uploaded Source

File details

Details for the file tabkit3-0.8.0.tar.gz.

File metadata

  • Download URL: tabkit3-0.8.0.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for tabkit3-0.8.0.tar.gz
Algorithm Hash digest
SHA256 e518a5d21828a5ffc2373660eccfaf60c1eb433188b13a1a237cd408f10fd323
MD5 5da158ca51dca3756350a3d299c5294e
BLAKE2b-256 a2d931923994c2d550357331d50cf7597d43f00cca8db81e833ae552d3fada49

See more details on using hashes here.

File details

Details for the file tabkit3-0.8.0.macosx-10.11-x86_64.tar.gz.

File metadata

File hashes

Hashes for tabkit3-0.8.0.macosx-10.11-x86_64.tar.gz
Algorithm Hash digest
SHA256 5cc7845acaf4fbaa28387b902586021fa30ec2d6712996390ecb72a730e734bf
MD5 ea5d6cea35cc1676e8b35ffaaf55c0ef
BLAKE2b-256 6ecf3981ea340915de2d45952024370af5fc2102c590dc5668429dbefd47be2e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.8.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page