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.
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:
Star History
If you find CLW useful, please consider giving it a star on GitHub.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c348413369ae70e367dd15fdb4b0833ed3de3c92458a48bce5bf0a6a2273249b
|
|
| MD5 |
0852df6fd0867d20b279429a6ff68991
|
|
| BLAKE2b-256 |
d51b62b5c6ea61699d7609cf216fbe89f7a1dc2aeca10d7c6cd24457e2df3038
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62f283ddf530d10fc833ddd28235e9b3f58f257621f155a7e1547003a4966152
|
|
| MD5 |
d4e1752af5924138c724d472ffa7f8b1
|
|
| BLAKE2b-256 |
c1a27f4d23c235fe7a4d1f4c7a970451d40ba5e0b94800ebb52085efd75db9b2
|