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.9.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.9-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: clw_csv-0.1.9.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.9.tar.gz
Algorithm Hash digest
SHA256 c348413369ae70e367dd15fdb4b0833ed3de3c92458a48bce5bf0a6a2273249b
MD5 0852df6fd0867d20b279429a6ff68991
BLAKE2b-256 d51b62b5c6ea61699d7609cf216fbe89f7a1dc2aeca10d7c6cd24457e2df3038

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clw_csv-0.1.9-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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 62f283ddf530d10fc833ddd28235e9b3f58f257621f155a7e1547003a4966152
MD5 d4e1752af5924138c724d472ffa7f8b1
BLAKE2b-256 c1a27f4d23c235fe7a4d1f4c7a970451d40ba5e0b94800ebb52085efd75db9b2

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