Pivot tables for CSV files in the terminal.
Project description
CSV Pivot
=========
Pivot tables for CSV files in the terminal.
Part of a set of terminal-based CSV tools, also including [CSV Match] (https://github.com/maxharlow/csvmatch) and [CSV Bar] (https://github.com/maxharlow/csvbar).
Tested on Python 2.7 and 3.5.
Installing
----------
pip install csvpivot
Usage
-----
Say you have a CSV file such as:
```
name,country,gender,salary
Oliver,UK,M,10000
Jack,UK,M,21000
Emily,UK,F,32000
Harry,UK,M,43000
Adam,France,M,54000
Paul,France,M,65000
Louise,France,F,76000
Alice,France,F,87000
Emma,Germany,F,98000
```
We could then find the average salary in each country:
```bash
$ csvpivot test.csv --rows country --values 'mean(salary)'
country,mean(salary)
France,70500
Germany,98000
UK,26500
```
It would be useful to find out the maximum and minimum values too though:
```bash
$ csvpivot test.csv --rows country --values 'mean(salary)' 'min(salary)' 'max(salary)'
country,mean(salary),min(salary),max(salary)
France,70500,54000,87000
Germany,98000,98000,98000
UK,26500,10000,43000
```
As well as `mean`, `min`, and `max`, CSV Pivot also supports `median`, `sum`, `stddev`, `count`, `countuniq`, `concat`, and `concatuniq`. All require numerical values apart from the last two. If numbers contain commas they are interpreted as thousands separators and removed.
Columns are also supported. So we could break down out data by gender:
```bash
$ csvpivot test.csv --rows country --values 'mean(salary)' --columns gender
country,mean(salary):F,mean(salary):M
France,81500,59500
Germany,98000,
UK,32000,24666.666666666668
```
=========
Pivot tables for CSV files in the terminal.
Part of a set of terminal-based CSV tools, also including [CSV Match] (https://github.com/maxharlow/csvmatch) and [CSV Bar] (https://github.com/maxharlow/csvbar).
Tested on Python 2.7 and 3.5.
Installing
----------
pip install csvpivot
Usage
-----
Say you have a CSV file such as:
```
name,country,gender,salary
Oliver,UK,M,10000
Jack,UK,M,21000
Emily,UK,F,32000
Harry,UK,M,43000
Adam,France,M,54000
Paul,France,M,65000
Louise,France,F,76000
Alice,France,F,87000
Emma,Germany,F,98000
```
We could then find the average salary in each country:
```bash
$ csvpivot test.csv --rows country --values 'mean(salary)'
country,mean(salary)
France,70500
Germany,98000
UK,26500
```
It would be useful to find out the maximum and minimum values too though:
```bash
$ csvpivot test.csv --rows country --values 'mean(salary)' 'min(salary)' 'max(salary)'
country,mean(salary),min(salary),max(salary)
France,70500,54000,87000
Germany,98000,98000,98000
UK,26500,10000,43000
```
As well as `mean`, `min`, and `max`, CSV Pivot also supports `median`, `sum`, `stddev`, `count`, `countuniq`, `concat`, and `concatuniq`. All require numerical values apart from the last two. If numbers contain commas they are interpreted as thousands separators and removed.
Columns are also supported. So we could break down out data by gender:
```bash
$ csvpivot test.csv --rows country --values 'mean(salary)' --columns gender
country,mean(salary):F,mean(salary):M
France,81500,59500
Germany,98000,
UK,32000,24666.666666666668
```
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
csvpivot-1.1.tar.gz
(3.8 kB
view hashes)
Built Distribution
Close
Hashes for csvpivot-1.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bffaa53e6838f3719ba5b9dff57c661ce0c714467969c9b1542c90d4f3f6902 |
|
MD5 | 68061e5f68473ddd68e97e1f6e2a7d1f |
|
BLAKE2b-256 | d4fac21c1a0e22066179f94127eb87c66e147eed0008ebe4f55db0215a649353 |