CSV format specification is defined in RFC 4180. This specification was published because
there is no formal specification in existence, which allows for a wide
variety of interpretations of CSV files
Unfortunately, since 2005 (date of publishing the RFC), nothing has changed. We still have a wide variety of implementations. The general approach defined in RFC 4180 is to enclose fields containing characters such as commas in quotation marks, this recommendation however is not always meet by different software.
The problem is that in various European locales comma character serves as the decimal point, so you write 0,005
instead of 0.005
. Yet in other cases, commas are used instead of spaces to signal digit groups, e.g. 4,000,000.00
(see here). In both cases using commas would possibly lead to errors in reading data from csv files because your software does not really know if 0,005, 0,1
are two numbers or four different numbers (see example here).
Last but not least, if you store text in your data file, then commas are much more common in text than, for example, semicolons, so if your text is not enclosed in quotation marks, that such data can also be easily read with errors.
Nothing makes commas better, or worse field separators as far as CSV files are used in accordance with recommendations as RFC 4180 that guard from the problems described above. However if there is a risk of using the simplified CSV format that does not enclose fields in quotation marks, or the recommendation could be used inconsistently, then other separators (e.g. semicolon) seem to be safer approach.