What would be the reason for not using a standard csv format? One problem is generating the file. Just follow the rules specified at the link you provided. One nice feature of ns_getcsv is that it returns the number of fields found. If you want to enforce this for every row you can use a while:
while {[set fields [ns_getcsv $fileid csv_list]] == $len} ...