TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Qsv: Efficient CSV CLI Toolkit

100 pointsby s1291over 1 year ago

5 comments

astowawayover 1 year ago
gnu awk recently got CSV support built into it which is quite nice imo though certainly less featureful than qsv appears to be
snidaneover 1 year ago
This looks great!<p>Please consider removing any implicit network calls like the initial &quot;Checking GitHub for updates...&quot;. This itself will prevent people from adoption or even trying it any further. This is similar to gnu parallel&#x27;s --citation, which, albeit a small thing - will scare many people off.<p>Consider adding pivot and unpivot operations. Mlr gets it quite right with syntax, but is unusable since it doesn&#x27;t work in streaming mode and tries to load everything into memory, despite claiming otherwise.<p>Consider adding basic summing command. Sum is the most common data operation, which could warrant its own special optimized command, instead offloading this to external math processor like lua or python. Even better if this had a group by (-by) and window by (-over) capability. Eg. &#x27;qsv sum col1,col2 -by col3,col4&#x27;. Brimdata&#x27;s zq utility is the only one I know that does this quite right, but is quite clunky to use.<p>Consider adding a laminate command. Essentially adding a new column with a constant. This probably could be achieved by a join with a file with a single row, but why not make this common operation easier to use.<p>Consider the option to concatenate csv files with mismatched headers. cat rows or cat columns complains about the mismatch. One of the most common problems with handling csvs is schema evolution. I and many others would appreciate if we could merge similar csvs together easily.<p>Conversions to and from other standard formats would be appreciated (parquet, ion, fixed width lenghts, avro, etc.). Othe compression formats as well - especially zstd.<p>It would be nice if the tool enabled embedding outputs of external commands easily. Lua and python builtin support is nice, but probably not sufficient. i&#x27;d like to be able to run a jq command on a single column and merge it back as another for example.<p>Inspiration:<p><pre><code> - csvquote: https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=31351393 - teip: https:&#x2F;&#x2F;github.com&#x2F;greymd&#x2F;teip</code></pre>
评论 #38747444 未加载
评论 #38842958 未加载
评论 #38752737 未加载
评论 #38746875 未加载
alchemist1e9over 1 year ago
Wow! This looks a really complete set of operations and extremely useful.
foehrenwaldover 1 year ago
related: <a href="https:&#x2F;&#x2F;github.com&#x2F;johnkerl&#x2F;miller">https:&#x2F;&#x2F;github.com&#x2F;johnkerl&#x2F;miller</a><p>I am wondering who really uses these tools and for what since there are R and python data science tools available?
评论 #38746476 未加载
评论 #38747167 未加载
评论 #38746424 未加载
评论 #38746430 未加载
dima55over 1 year ago
An incomplete list of other similar tools: <a href="https:&#x2F;&#x2F;github.com&#x2F;dkogan&#x2F;vnlog&#x2F;#description">https:&#x2F;&#x2F;github.com&#x2F;dkogan&#x2F;vnlog&#x2F;#description</a>
评论 #38746579 未加载