Back to News
Advertisement
Advertisement

⚡ Community Insights

Discussion Sentiment

33% Positive

Analyzed from 456 words in the discussion.

Trending Topics

#csv#file#human#ascii#why#separator#separated#years#characters#https

Discussion (14 Comments)Read Original on HackerNews

bariumbitmap•about 3 hours ago
This comes up every so often. I think there are good reasons it hasn't caught on. Here's a relevant comment from ten years ago:

> whole point is to be roughly human-readable and using non-printing characters defeats that. You can't even easily enter these things via the command line.

> If we're abandoning human-readability, why even bother with ASCII? Just use a binary format. Has anyone actually used ASCII unit and record separator delimiters successfully? I'd be curious about what advantages they had over a binary format, even just a protobuf or Thrift serialized form. If we want to preserve schemalessness, there's stuff like Sereal.

--- arjie, June 8, 2016

https://news.ycombinator.com/item?id=11862769

Here's another one from more than twelve years ago:

> I've done this.

> Everybody hated it. Most text editors don't display anything useful with these characters (either hiding them altogether or showing a useless "uknown" placeholder), and spreadhseet tools don't support the record separator (although they all let you provide a custom entry separator so the "unit" separator can work). Besides the obvious problem that there's no easy way to type the darned things when somebody hand-edits the file.

--- Pxtl, March 26, 2014

https://news.ycombinator.com/item?id=7474600

nemothekid•about 3 hours ago
The problem in practice with CCSV files, is they are no longer human editable, nor will tools like Excel automatically parsed them (maybe, I haven't checked in ~10 years, however I doubt CSV parsing has improved at all).

If the files aren't human editable anymore, why stick with CSV at all?

willk•about 3 hours ago
I think we hugged it to death.

https://archive.is/4anlI

saulpw•about 3 hours ago
This is generally called ASV for ASCII-separated values, or USV for Unicode-separated values (e.g. U+241E, which is different from the ASCII U+001E equivalent).

Also, as wonderful as this would be, as other comments say, no one uses it because no one uses it.

rigbert•about 1 hour ago
If you've dealt with the headache that can be FIX, you'll realize the annoyance this can be because unless your tooling is very aware you're doing this (it probably isn't, unless you've built your own) everything looks like garbage until you tune everything to make it pretty.

Works internally, breaks externally, which half of the benefit of a CSV is that you can give just about anyone the file and they can work with it.

pupppet•about 2 hours ago
Why was a comma originally chosen over, I dunno, say a pipe character?
dylan604•about 1 hour ago
Yeah, this is something frustrating to me. A comma is just way too common of a symbol used in everyday text. So if you're using something other than numerical data like strings. Quotes are another thing where trying to escape quotes escaping commas decreases the human readability. CSV parsers can usually designate the delimiter and escape characters, so you can use a more unique delimiter. Will the recipient of your file parse correctly or just assume it's a single column file?
quuxplusone•about 1 hour ago
Because English. If you're writing a data file and one row of data elements is like "one, red, 3.14, Tuesday," why wouldn't you write exactly that in your ASCII text file? And when you do, that's CSV!
OutOfHere•38 minutes ago
One can pipe it to an expression for viewing purposes:

    sed $'s/\x1f/,/g; s/\x1e/\\\n/g; s/\x04//g'

    awk 'BEGIN { RS="\036"; FS="\037"; OFS="," } { sub(/\004$/, ""); $1=$1; print }'
zmj•about 3 hours ago
I thought this was going to be about comma-separated CSV files.
killingtime74•about 3 hours ago
Then that's just CSV?
drivingmenuts•about 1 hour ago
It's turtles all the way down, mate.
yencabulator•about 1 hour ago
Turtle-separated values? I thought TSV meant tabs.
msephton•about 3 hours ago
Seems to be down