Skip to main content

Swiss Army csv: command-line tools to manipulate csv-formatted data

Project description

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 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

Illustration of csvparallel executing f.py in 8 jobs

Installation

To install this package using pip, type

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/.

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

sacsv-1.5.1.tar.gz (217.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sacsv-1.5.1-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file sacsv-1.5.1.tar.gz.

File metadata

  • Download URL: sacsv-1.5.1.tar.gz
  • Upload date:
  • Size: 217.6 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for sacsv-1.5.1.tar.gz
Algorithm Hash digest
SHA256 94c26218dea6348087badb0cc05332fe7ca82807760516dcb39d6aa64eae0d23
MD5 4b2e42f5a070dfe72e3786d9a83e1084
BLAKE2b-256 489f4e951a10065ef15d7cc793d5a8e660321552bbbc4d31db7d97612d3c4a5b

See more details on using hashes here.

File details

Details for the file sacsv-1.5.1-py3-none-any.whl.

File metadata

  • Download URL: sacsv-1.5.1-py3-none-any.whl
  • Upload date:
  • Size: 16.8 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for sacsv-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cfc31a5eab3c4551e2e53277f3c3305615fc8b3007a73439aa681950fe4b5982
MD5 738b66a8b52439ced6022a3ff4ae66b6
BLAKE2b-256 0de59f3c8a28f9a0bf59ffca55e3ff6cc6e45346e5408d67ac2fa775c73dc4a4

See more details on using hashes here.

Supported by

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