sacsv: Swiss Army csv
This Python package provides an assortment of command-line tools to manipulate csv-formatted data. The tools are:
csv2jsonl: converts csv input into jsonlinescsvaddrandom: adds a column with a random numbercsvadduniqueid: adds a column with a unique record identifiercsvaggregate: applies an arbitrary Python function to every value of a column, possibly within groupscsvappend: appends two or more csv filescsvdropdups: drops duplicate recordscsvfindsortkey: attempts to find the column that the input is sorted bycsvkeepmax: keeps the record that has the maximum value in a columncsvleftjoin: merges two csv filescsvop: applies an arbitrary Python function to every record and saves the return value in a new columncsvparallel: parallelizes arbitrary commands that read a csv input and write a csv outputcsvrename: changes the name of a columncsvreorder: changes the order of columnscsvsed: applies a substitution rule, using regular expressions, to every value of a columncsvsort: sorts the inputcsvtranspose: transposes the inputfw2csv: converts fixed-width input, potentially with multi-line records, into csvlongcsv2wide: converts the input from long to wide formwidecsv2long: converts the input from wide to long form
Each tool's help message contains brief examples that demonstrate usage.
For example, csvop:
Installation
To install this package using uv, type
uv tool install sacsv
or using pip,
pip install git+https://github.com/gn0/sacsv
or, alternatively,
git clone https://github.com/gn0/sacsv
pip install ./sacsv
Author
Gabor Nyeki. Contact information is on http://www.gabornyeki.com/.
License
This package is licensed under the Creative Commons Attribution 4.0 International License: http://creativecommons.org/licenses/by/4.0/.
The picture at the top of this README is based on Andrew Toskin's 2014 photo which is distributed under CC BY-SA 4.0.
Release files for sacsv 1.6.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sacsv-1.6.1.tar.gz | 14.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sacsv-1.6.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:14.1 MB
Release files / sacsv-1.6.1.tar.gz
| Download URL | sacsv-1.6.1.tar.gz |
|---|---|
| Size | 14.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5b48bee307895843d473f9b760bf07e3d93ac21e2b05dc46ca86396dd7f3467c
|
|
BLAKE2b-256 checksum How to use checksums |
3ae2b8af5d3dc9739cde217b32705e7553fc1e46706252bc3143f448cefb3de7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / sacsv-1.6.1-py3-none-any.whl
| Download URL | sacsv-1.6.1-py3-none-any.whl |
|---|---|
| Size | 22.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e77cfcfec3ac0e152e9d146f5744c9c851782c226f9be3e93bc00a5f6604a00e
|
|
BLAKE2b-256 checksum How to use checksums |
2002c776e55fbab89ea50d2b393aa1aea5bc0a9b6a9b56affb9a938850abf231
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|