Skip to main content

CLW (CSV Light Wizard) - A blazing-fast CSV/TSV manipulation tool

Project description

CLW - CSV Light Wizard

Pronounced "CLAW" - because every Rust tool deserves a crab-themed name.

Build Status License: MIT Rust

CLW is a blazing-fast CSV manipulation tool written in Rust, designed to make working with CSV files from the command line intuitive and efficient. Born from 10+ years of day-to-day data science work, CLW is a Swiss Army knife that brings together the essential CSV operations you actually need in your workflow.

Features

  • Lightning Fast: Built with Rust for maximum performance - See BENCHMARKS.md for details.
  • Auto-detection: Automatically detects delimiters (comma, pipe, tab, and space.)
  • Data Analysis: Built-in statistics and frequency analysis
  • Data Transformation: Transpose, stack, and paste operations
  • Smart Filtering: Filter by values
  • Random Sampling: Sample rows with reproducible seeds
  • Flexible I/O: Works with files or stdin/stdout for easy piping
  • Lightweight: 1.7MB single binary

Installation

Pip install (recommended)

pip install clw-csv

From Source

git clone https://github.com/sshu2017/clw.git
cd clw/
cargo build --release
sudo cp target/release/clw /usr/local/bin/

Quick Start

# Pretty-print a CSV with rainbow colors
clw peek data.csv

# Get basic statistics for a column
clw stats --column price products.csv

# Show frequency distribution with a plot
clw freq --column category --plot inventory.csv

# Transpose rows and columns
clw transpose data.csv > transposed.csv

# Stack two CSV files vertically
clw stack file1.csv file2.csv > combined.csv

See the USAGE.md for detailed usage.

Acknowledgments

CLW was inspired by:

  • csvkit - a comprehensive CSV toolkit in Python
  • csvtool - a fast CSV processing tool in OCaml
  • xsv - a CSV toolkit in Rust (now unmaintained)
  • xan and qsv - two feature-rich CSV toolkits in Rust (though larger in size)

Special thanks to the Rust community for excellent libraries:

  • clap - Command-line argument parsing
  • csv - CSV reading/writing
  • colored - Terminal colors

Star History

If you find CLW useful, please consider giving it a star on GitHub.

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

clw_csv-0.1.10.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

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

clw_csv-0.1.10-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file clw_csv-0.1.10.tar.gz.

File metadata

  • Download URL: clw_csv-0.1.10.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for clw_csv-0.1.10.tar.gz
Algorithm Hash digest
SHA256 e23dde89abcb55be5ac6973b906ee34e8b46171eb1239e4d1b6254c442531463
MD5 4610ac68dcd20aeaa974bea8b5ec9841
BLAKE2b-256 e05359d2149d3c7a736a4a8a913a990ea037dec4ce96b87fae89848a9cd3f8ed

See more details on using hashes here.

File details

Details for the file clw_csv-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: clw_csv-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for clw_csv-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 b2372a9d86f1f2e2b636432fb9abf9ca94adc3b04bca4300cf669bcfa7b186b7
MD5 103839d3cc06fa652ff0c60c063a6dd9
BLAKE2b-256 72b91aaa81d570a2bce92a78dd89ac0007f5fe641c73f2da2705bbf3a4a814d2

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