csv-to-usv

Languages and libraries

data format library

SHOW HN2024

csv-to-usv

Comma Separated Values (CSV) to Unicode Separated Values (USV)

crates.io

#csv#usv#unicode separated values#rust crate#data format

208points
287comments
#377of 3,515 in 2024
Top 11%of 2024 by points

How HN took it

RoastedHalf or more of the comments are critical

16 positive, 49 neutral or asking, 4 mixed, 84 critical, out of 153 comments about the project. Thread score -0.42.

Idea: 10 for, 35 againstDesign: 1 for, 36 againstExecution: 5 for, 8 againstDocs: 0 for, 2 againstPrivacy: 0 for, 2 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Clever use of Unicode symbols makes separators visible and editable

    From 3 comments
    • Fascinated this uses the Unicode glyphs / symbols for unit and record separator rather than the unit and record separators themselves (ASCII US and RS). Perfect deployment of…
      jonathaneunice on HN
    • It's sensible in principle: * Editors will play nicely with the graphical representation. If you need better graphics, it's done with font customization, which everyone already…
      crq-yml on HN
    • I've been using an emoji separated values format for a personal project where fields contain lots of special characters including whitespace. I'd previously given up using ASV…
      jbaber on HN

Objections

  • Hard to type and read the separator glyphs in ordinary editors

    From 3 comments
    • According to their GitHub README: ```USV works with many kinds of editors. Any editor that can render the USV characters will work. We use vi, emacs, Coda, Notepad++, TextMate,…
      bryanlarsen on HN
    • Their examples if anything convinced me not to use this for a long time. I need to zoom to be able to tell these apart, so I'll need editor support for it to be convenient to…
      vidarh on HN
    • We might be able to see them, but for me they're just a blur unless I zoom in significantly, so I'll need editor accommodations just as much for these characters as if they used…
      vidarh on HN
  • No Excel or wide library support

    From 3 comments
    • CSV is great because excel can import it, but it can't import USV, so at that point, why use USV when you can use JSON? https://github.com/tyleradams/json-toolkit/
      code-faster on HN
    • First time hearing about USV, nifty! However, I think the adoptability challenge remains here to be Excel support (very tough).
      evrimoztamur on HN
    • All downsides, no upsides. You cannot edit it in regular editor, like csv/tsv/jsonlines. There is no schema or efficient storage, like binary formats. There is no wide library…
      theamk on HN
  • Adds yet another standard without real backing

    From 3 comments
    • The usv github repository says it is "the standard for data markup of ...", has 66 stars, and is currently applying for "text/usv" MIME type. That's all about it. Maybe I'll…
      pquki4 on HN
    • This is needlessly adding yet another standard¹ to the mix. If you are in a position to choose what standard you use, just use: • Whatever is best for the data model and/or…
      teddyh on HN
    • > Is USV aiming to become a standard? > > Yes and we've submitted the first draft of the USV standard to the IETF: link. This is a nice idea, and all, but seems unlikely to…
      pimlottc on HN
  • Documentation and spec issues such as SYN and escaping

    From 3 comments
    • > The Synchronous Idle (SYN) symbol is a heartbeat, and is especially useful for streaming data, such as to keep a connection alive. > > SYN tells the data reader that data…
      philsnow on HN
    • Absolutely terrible documentation. The RFC doesn't even explain the purpose of the "End of Transmission Block" token.
      otabdeveloper4 on HN
    • We might be able to see them, but for me they're just a blur unless I zoom in significantly, so I'll need editor accommodations just as much for these characters as if they used…
      vidarh on HN

Requests

  • Support custom delimiters such as semicolon

    From 1 comment
    • If you live in a place where comma is the decimal separator, your CSV files will often use semicolon as the separator instead of comma. Will this tool cater for that?
      ochrist on HN
  • Add automatic record separator newlines

    From 1 comment
    • Good point. I'm adding automatic record separator newlines to the crate now.
      jph on HN
  • Python library

    From 1 comment

Questions

  • Why not use ASCII separators or existing formats like RSV or Parquet

    From 3 comments
    • ASCII has a field delimiter character. The fact that we chose comma and tabs because a field delimiter character is hard to type or see is one of those things that saddens me in…
      tambourine_man on HN
    • A similar concept that is (IMHO) much nicer: RSV It doesn't need any escaping or quoting: a field just has to be valid UTF-8. The trick is that the delimiters are bytes that are…
      Fileformat on HN
    • Why not use parquet at this point? (or a row-oriented equivalent like Avro or SQLite) If you don't have a human-readable file, might as well be compressible, queriable, and…
      remram on HN

Alternatives named

  • ASCII Separated Values (ASV)

    From 1 comment
    • Not sure I understand the advantage over ASCII Separated Values (ASV) which use ASCII control characters 0x1E and 0x1F
      eli on HN
  • RSV

    From 1 comment
    • A similar concept that is (IMHO) much nicer: RSV It doesn't need any escaping or quoting: a field just has to be valid UTF-8. The trick is that the delimiters are bytes that are…
      Fileformat on HN
  • TSV and RFC 4180 CSV

    From 2 comments
    • Nope, this isn't a good approach. I prefer tab-separated values (TSV) and use it as much as possible.
      nayuki on HN
    • This is needlessly adding yet another standard¹ to the mix. If you are in a position to choose what standard you use, just use: • Whatever is best for the data model and/or…
      teddyh on HN
  • JSON and JSON Lines

    From 2 comments
    • CSV is great because excel can import it, but it can't import USV, so at that point, why use USV when you can use JSON? https://github.com/tyleradams/json-toolkit/
      code-faster on HN
    • We don't need a new format which works for machines as well as for humans, because there are are tons of existing ones. You have CSV or TSV for wide support; JSONlines if you…
      theamk on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/39679378)