csv-parser VS qsv

Compare csv-parser vs qsv and see what are their differences.

csv-parser

Streaming csv parser inspired by binary-csv that aims to be faster than everyone else (by mafintosh)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
csv-parser qsv
9 13
1,399 2,228
- -
0.0 9.9
3 months ago 4 days ago
JavaScript 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.

csv-parser

Posts with mentions or reviews of csv-parser. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-17.

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 csv-parser and qsv you can also consider the following projects:

xlsx-populate - Excel XLSX parser/generator written in JavaScript with Node.js and browser support, jQuery/d3-style method chaining, encryption, and a focus on keeping existing workbook features and styles in tact.

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

PEG.js - PEG.js: Parser generator for JavaScript

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

parse-json - Parse JSON with more helpful errors

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

google-libphonenumber - The up-to-date and reliable Google's libphonenumber package for node.js.

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

neat-csv - Fast CSV parser

csvquote

Jison - Bison in JavaScript.

goawk - A POSIX-compliant AWK interpreter written in Go, with CSV support