TSV in, CSV out, with quoting handled properly — so a value that itself contains a comma stays one cell instead of silently splitting into two columns.