Skip to main content

Coreutils-like kit for headed tab-separated files processing

Project description

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

Project details


Download files

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

Source Distribution

tabkit-0.13.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

tabkit-0.13-py2.7.egg (43.3 kB view details)

Uploaded Source

File details

Details for the file tabkit-0.13.tar.gz.

File metadata

  • Download URL: tabkit-0.13.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for tabkit-0.13.tar.gz
Algorithm Hash digest
SHA256 3619e62395fc09a407338b8230ccb733fd4ffa39b1a13b2e87c54d03d42fae83
MD5 5dbf66faa3cbd7b0a781d1679254a7fd
BLAKE2b-256 c58086d49389a22ae996505a71e90ce3f8c288ed95c250332dc16fc22548fee5

See more details on using hashes here.

File details

Details for the file tabkit-0.13-py2.7.egg.

File metadata

  • Download URL: tabkit-0.13-py2.7.egg
  • Upload date:
  • Size: 43.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for tabkit-0.13-py2.7.egg
Algorithm Hash digest
SHA256 0d8e70c01a67e8feffb1003e2bb1cc5a88481e5de7f958529777cf3ad0def431
MD5 12fdb0ec50b7849111d3f6e28d16447b
BLAKE2b-256 22e1d10fefdefa529daba7bbe7ead1970e668686a582eca8327694f069798ae5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page