csv-query-cli

Crates.iocsv-query-cli
lib.rscsv-query-cli
version0.4.1
sourcesrc
created_at2018-09-04 18:50:44.230755
updated_at2018-09-04 18:50:44.230755
descriptionMake SQL queries on CSV files (cli)
homepage
repository
max_upload_size
id82958
size6,498
Jayson Reis (jaysonsantos)

documentation

README

CSV Query

Build Status

This is based on the idea of rows but I want to limit it only to a fast CSV parser with the embeded sqlite query.

This is still is not fully done

Installing

Homebrew

brew install jaysonsantos/tools/csv-query

From source

Assuming you already have cargo just run this:

 cargo install csv-query-cli

Usage

Save these two example files.

user.csv

user_id;name
1;User 1
2;User 2
3;User 3

credits.csv

user_id;credit
1;5
1;30
2;3
1;4
3;1

and you should be able to run this query over it

$ csv-query -q "
select
    u.name, sum(c.credit) credits, avg(c.credit) avg_credits
from table1 u
join table2 c
    on u.user_id = c.user_id
group by u.user_id
having avg(c.credit) >= 3" \
-f user.csv -f credits.csv

"name";"credits";"avg_credits"
"User 1";"39";"13"
"User 2";"3";"3"

Or you can use the interactive mode

asciicast

Disclaimer

If you don't need the flexibility of SQLite or want to do things real fast and use a more mature project you should use xsv.

Commit count: 0

cargo fmt