tclcsv

Difference between version 9 and 10 - Previous - Next
http://tclcsv.magicsplat.com/%|%tclcsv%|% (by [APN]) is a binary extension for 
reading and writing [CSV] format files. The parsing code is based on the 
Python / pandas CSV parser.

2018-03-12: Version 2.3 released. Changes since 2.2

   * ability to write CSV files
   * much faster parsing performance

Compared to the [Tcllib CSV] module:

   * [Tcllib CSV] is pure Tcl which has obvious advantages in portability.

   * On the other hand, tclcsv, being binary, is much faster. It also supports more flexibility in terms of CSV formats and includes a Tk dialog to configure, preview and interactively select the appropriate CSV dialect (similar to the CSV import dialog in Excel). 
[MHo] 2020-06-30: It is difficult to create correct CSVs for Excel: If one enters, within Excel, a ''manual line break within a cell'' and then saves a file, that line break is stored internally as 0x0a, compared to 0x0d0a for the line endings of the complete row. Ok. To create such a CSV one have to separate values in one cell with 0x0a. But as the data is written out, Tcl automatically translates this to 0x0d0a, on windows. My trick is to fconfigure the channel to lf (so nothing is translated), '''and''' toin addition callying cspv_writec wifyth '''-terminator \x0D\x0A'''. This produces what I want... LibreOffice, instead, always treats CSVs as expected, even if cells contain 0x0d0a (if they are enclosed in double quotes etc.). I stumbled upon the same problems in using tcllibs csv module.

<<categories>>CSV | Package