Sample code for 30+ languages & platforms
Tcl

CSV Append a Column with Values

See more CSV Examples

Append an additional column and initialize with a value.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# First initialize the CSV with content.  

# permalink,company,numEmps,category,city,state,fundedDate,raisedAmt,raisedCurrency,round
# lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b
# mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed
# flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a
# infusionsoft,Infusionsoft,105,software,Gilbert,AZ,1-Oct-07,9000000,USD,a
# gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed

set bCrlf 1
set sb [new_CkStringBuilder]

CkStringBuilder_AppendLine $sb "permalink,company,numEmps,category,city,state,fundedDate,raisedAmt,raisedCurrency,round" $bCrlf
CkStringBuilder_AppendLine $sb "lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b" $bCrlf
CkStringBuilder_AppendLine $sb "mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed" $bCrlf
CkStringBuilder_AppendLine $sb "flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a" $bCrlf
CkStringBuilder_AppendLine $sb "infusionsoft,Infusionsoft,105,software,Gilbert,AZ,1-Oct-07,9000000,USD,a" $bCrlf
CkStringBuilder_AppendLine $sb "gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed" $bCrlf

set csv [new_CkCsv]

CkCsv_put_HasColumnNames $csv 1
set success [CkCsv_LoadFromString $csv [CkStringBuilder_getAsString $sb]]

# Show the initial CSV:
puts [CkCsv_saveToString $csv]
puts "----"

# Now let's add a new rightmost column.
set numColumns [CkCsv_get_NumColumns $csv]
set numRows [CkCsv_get_NumRows $csv]

# Set the column name.
set columnIdx $numColumns
CkCsv_SetColumnName $csv $columnIdx "new_column"

# Add the column to each row.
set i 0
while {$i < $numRows} {
    CkCsv_SetCell $csv $i $columnIdx "newData"
    set i [expr $i + 1]
}

# Show the updated CSV:
puts [CkCsv_saveToString $csv]

delete_CkStringBuilder $sb
delete_CkCsv $csv