goawk VS qsv

Compare goawk vs qsv and see what are their differences.

goawk

A POSIX-compliant AWK interpreter written in Go, with CSV support (by benhoyt)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
goawk qsv
19 13
1,885 2,228
- -
7.1 9.9
8 days ago 1 day ago
Go Rust
MIT License The Unlicense
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

goawk

Posts with mentions or reviews of goawk. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-29.

qsv

Posts with mentions or reviews of qsv. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-31.
  • FLaNK Weekly 31 December 2023
    25 projects | dev.to | 31 Dec 2023
  • Qsv: Efficient CSV CLI Toolkit
    8 projects | news.ycombinator.com | 22 Dec 2023
    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
    3 projects | news.ycombinator.com | 19 Oct 2023
  • Why my favourite API is a zipfile on the European Central Bank's website
    10 projects | news.ycombinator.com | 15 Sep 2023
    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
    1 project | news.ycombinator.com | 28 Jun 2023
  • Qsv: CSVs sliced, diced and analyzed (fork of xsv)
    2 projects | news.ycombinator.com | 27 Jun 2023
  • Nushell.sh ls – where size > 10mb – –sort-by modified
    7 projects | news.ycombinator.com | 12 Mar 2023
  • Do Rust and Lua work well together?
    8 projects | /r/rust | 3 Mar 2023
    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?
    1 project | /r/learnpython | 23 Sep 2022
    Maybe this might be better done using this? https://github.com/jqnatividad/qsv
  • How to convert xslx to csv using Rust?
    4 projects | /r/rust | 17 Aug 2022
    https://github.com/jqnatividad/qsv is another option.

What are some alternatives?

When comparing goawk and qsv you can also consider the following projects:

bytehound - A memory profiler for Linux.

miller - Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON

tsv-utils - eBay's TSV Utilities: Command line tools for large, tabular data files. Filtering, statistics, sampling, joins and more.

calamine - A pure Rust Excel/OpenDocument SpreadSheets file reader: rust on metal sheets

awka - Revive awka - Awk to C Compiler

fortune-sheet - A drop-in javascript spreadsheet library that provides rich features like Excel and Google Sheets

intellij-awk - The missing IntelliJ IDEA language support plugin for AWK

tumblelog - A static tumblelog generator available as both a Perl and Python version

csvquote

awk - One true awk

ess-view-data - View data support for ESS