3 ms·
CSV is a pretty poor format in that it mixes the presentation and the underlying values. There is no standard for dates (dd/mm/yyyy or mm/dd/yyyy ?). The "sta
by TAForObvReasons 9y ago
CSV is a pretty poor format in that it mixes the presentation and the underlying values. There is no standard for dates (dd/mm/yyyy or mm/dd/yyyy ?). The "standard" RFC4180 is extremely vague when discussing value interpretation. As proprietary as XLSX is, at least the Excel format separates the raw values from the presentation.
- cozzyd 9y agoIt would be interesting if spreadsheets supported a sub-set of a binary interchange format like FITS or HDF5.
- pmoriarty 9y agoThere's nothing in CSV that has anything to do with presentation (nor with what the underlying values are, for that matter). These vulnerabilities can't be blamed on CSV so much as on the desire of application vendors to treat data as code.
- mjevans 9y agoCSV was only ever intended to store simple text and simple numbers. Dates are a /type/ of text; parsing dates in to machine readable formats is an /entire/ other can of spam.
- Dylan16807 9y agoCSV is a format for two-dimensional text values, and nothing beyond that. It's not a poor format, it's a simple low-level format.
- mulmen 9y agoExcept if your raw value begins with a "'". Or if it is 2017/10/10, or 10/10/2017, then it may be represented by an integer with a format of "date". Or if your raw value is 1234567890123456789, then you get a string like '1.23456789012345e18', complete with modified data. Or if it begins with an "=" which could result in basically anything as the article points out. Excel conflates the idea of display format and data type which is the source of countless headaches. It is legacy pain in the purest form.