The reason I don't like CSV is that CSV files can use any text encoding: ASCII, ISO-8859, UTF-8.. It's not nice to try to guess the encoding when reading files.
RFC 4180 also fails to define the default text encoding. It seems that text encoding can be given only when MIME type is given for the file.
JSON is so much easier.