4 ms·
Modernizing ... by adding CSV support !?!
by malkocoglu 4y ago
Modernizing ... by adding CSV support !?!
- benhoyt 4y agoFair comeback. I think of CSV as modern, but Wikipedia tells me it's almost as old as AWK (depending on how you count). It seems to me it's used more heavily now as an exchange format, compared to say 15-20 years ago, but I could be wrong.
- londons_explore 4y agoJSON is an exchange format... sqlite is an exchange format... even protocol buffers are an exchange format... CSV is only an exchange format if there is no user generated strings in the data... If there are, then you'll almost certainly screw up the encoding when someones name has a newline or comma or speech mark in it, or some obscure unicode etc. Even moreso if awk is part of your toolkit.
- benhoyt 4y agoThat may have been more true years ago, but now quoting is pretty well defined with RFC 4180, and most tools seem to produce and consume RFC 4180-compatible CSV (which properly handles commas, quotes, and even newlines in fields). That said, there still are too many non-standard or quirky CSV files out there.
- dspillett 4y ago> and most tools seem to produce and consume RFC 4180-compatible CSV Laughs in SSIS… There are some significant tools (or common add-ins for them) that don't entirely respect RFC4180. Though I see few files that breach it these days, thre are tools that break with conforming files (looking at you, Excel, trying to be clever about anything isn't conclusively provable not to be a date). Our clients use it all the time, to the point where we'd lose sales if we didn't support it, but CSV is far from a safe way to transport data IMO. Each time a new requirement to deal with CSV comes in I treat it as a custom format that may or may not be something like RFC4180.
- recursive 4y agoI see lot of CSVs generated with LF instead of CRLF as line endings. Blindly following the RFC is still probably not advised.
- imtringued 4y agoEvery CSV "document" is its own file format so yes, it is as modern as your software.
- deleted 4y ago[deleted]