qsv
rust-csv
qsv | rust-csv | |
---|---|---|
13 | 6 | |
2,234 | 1,605 | |
- | - | |
9.9 | 4.4 | |
2 days ago | 15 days ago | |
Rust | Rust | |
The Unlicense | The Unlicense |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
qsv
- FLaNK Weekly 31 December 2023
-
Qsv: Efficient CSV CLI Toolkit
Thanks for the detailed feedback @snidane!
As maintainer of qsv, here's my reply:
- Given qsv's rapid release cycle (173 releases over three years), the auto-update check is essential at the moment. Once we reach 1.0, I'll turn it off. For now, given your feedback, I've only made it check 10% of the time.
- Pivot is in the backlog and I'll be sure to add unpivot when I implement it. (https://github.com/jqnatividad/qsv/issues/799)
- I'll add a dedicated summing command with the group by (-by) and window by (-over) capability (https://github.com/jqnatividad/qsv/issues/1514). Do note that `stats` has basic sum as @ezequiel-garzon pointed out.
- With the `enum` command, qsv can achieve what you proposed with `laminate`. E.g. qsv enum --new-column newcol --constant newconstant mydata.csv --output laminated-data.csv
- With the cat rowskey command, qsv can already concatenate files with mismatched headers.
- other file formats. qsv supports parquet, csv, tsv, excel, ods, datapackage, sqlite and more (see https://github.com/jqnatividad/qsv/tree/master#file-formats). Fixed-format though is not supported yet and quite interesting, and have added it to the backlog (https://github.com/jqnatividad/qsv/issues/1515)
- as to "enable embedding outputs of commands", qsv is composable by design, so you can use standard stdin/stdout redirection/piping techniques to have it work with other CLI tools like jq, awk, etc.
Finally, just released v0.120.0 that already incorporates the less aggressive self-update check. https://github.com/jqnatividad/qsv/releases/tag/0.120.0
- Joining CSV Data Without SQL: An IP Geolocation Use Case
-
Why my favourite API is a zipfile on the European Central Bank's website
qsv [1] also has a sqlp command which lets you run Polars SQL queries (even on multiple files). Here I'll send the csv data from stdin (represented by -) and then (optionally) pipe the output to the table command for formatting. The shape of the result is also printed to stderr (the (4, 2) below).
[1] https://github.com/jqnatividad/qsv
$ echo 'Name,Department,Salary
- Qsv: Ultra-fast CSV data-wrangling toolkit
- Qsv: CSVs sliced, diced and analyzed (fork of xsv)
- Nushell.sh ls – where size > 10mb – –sort-by modified
-
Do Rust and Lua work well together?
It works quite well IMHO. Using the mlua crate, I’ve managed to integrate Luau as a very powerful data-wrangling DSL for qsv (https://github.com/jqnatividad/qsv)
-
How manipulate this CSV in Python?
Maybe this might be better done using this? https://github.com/jqnatividad/qsv
-
How to convert xslx to csv using Rust?
https://github.com/jqnatividad/qsv is another option.
rust-csv
-
A question for all those that use Python
Serde for most of your input and output formats, with the serde-yaml and csv crates for format backends.
-
Specific csv file manipulation
If you want to do it in Rust, then you could combine the https://github.com/mjc-gh/rev_lines and and https://github.com/BurntSushi/rust-csv crates.
-
How to convert xslx to csv using Rust?
csv for writing to CSV
-
anyone using rust in production? what do you do?
Pair that with Serde for serialization/deserialization (JSON, TOML, YAML, CSV/TSV, XML, URL query strings, etc.), Figment for configuration, and ignore for filesystem traversal with blacklist support, and Rust is a real joy for writing CLI utilities.
-
Deserializing a CSV file with serde to an internally tagged enum doesn't seem to work
I had a similar issue and learned that internally tagged enums are not (and apparently can't be) supported: github issue.
-
Data Manipulation: Pandas vs Rust
Yep, I'll try to have a look at the nesting PR https://github.com/BurntSushi/rust-csv/pull/197 tonight, don't want to be a bitch, and not helping ahah :)
What are some alternatives?
miller - Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON
polars - Dataframes powered by a multithreaded, vectorized query engine, written in Rust
calamine - A pure Rust Excel/OpenDocument SpreadSheets file reader: rust on metal sheets
nom - Rust parser combinator framework
fortune-sheet - A drop-in javascript spreadsheet library that provides rich features like Excel and Google Sheets
rust-peg - Parsing Expression Grammar (PEG) parser generator for Rust
tsv-utils - eBay's TSV Utilities: Command line tools for large, tabular data files. Filtering, statistics, sampling, joins and more.
pest - The Elegant Parser
csvquote
zero - A Rust library for zero-allocation parsing of binary data.
goawk - A POSIX-compliant AWK interpreter written in Go, with CSV support
grex - A command-line tool and Rust library with Python bindings for generating regular expressions from user-provided test cases