Skip to main content

sacsv: Swiss Army csv

Swiss Army csv (based on Andrew Toskin's photo distributed under CC BY-SA 4.0)

This Python package provides an assortment of command-line tools to manipulate csv-formatted data. The tools are:

  • csv2jsonl: converts csv input into jsonlines
  • csvaddrandom: adds a column with a random number
  • csvadduniqueid: adds a column with a unique record identifier
  • csvaggregate: applies an arbitrary Python function to every value of a column, possibly within groups
  • csvappend: appends two or more csv files
  • csvdropdups: drops duplicate records
  • csvfindsortkey: attempts to find the column that the input is sorted by
  • csvkeepmax: keeps the record that has the maximum value in a column
  • csvleftjoin: merges two csv files
  • csvop: applies an arbitrary Python function to every record and saves the return value in a new column
  • csvparallel: parallelizes arbitrary commands that read a csv input and write a csv output
  • csvrename: changes the name of a column
  • csvreorder: changes the order of columns
  • csvsed: applies a substitution rule, using regular expressions, to every value of a column
  • csvsort: sorts the input
  • csvtranspose: transposes the input
  • fw2csv: converts fixed-width input, potentially with multi-line records, into csv
  • longcsv2wide: converts the input from long to wide form
  • widecsv2long: converts the input from wide to long form

Each tool's help message contains brief examples that demonstrate usage. For example, csvop:

Help message for csvop with two examples

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)

Source distribution for sacsv 1.6.1
File Size Uploaded
sacsv-1.6.1.tar.gz 14.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for sacsv 1.6.1
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

1.6.1 This release

2 release files

1.6.0

2 release files

1.5.2

2 release files

1.5.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page