Sample code for 30+ languages & platforms
Tcl

CSV Set Column Name

Demonstrates how to set the name of a column in a CSV.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# We have the following CSV...

# 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]]

# Get each column name..
set numCols [CkCsv_get_NumColumns $csv]
set i 0
while {$i < $numCols} {
    puts [CkCsv_getColumnName $csv $i]
    set i [expr $i + 1]
}
puts "---"

# Change the "numEmps" column name to "employeeCount"
set success [CkCsv_SetColumnName $csv 2 "employeeCount"]

set numCols [CkCsv_get_NumColumns $csv]
set i 0
while {$i < $numCols} {
    puts [CkCsv_getColumnName $csv $i]
    set i [expr $i + 1]
}

# Use the updated column name...
puts "---"
puts [CkCsv_getCellByName $csv 3 employeeCount]

# Output should be:

# permalink
# company
# numEmps
# category
# city
# state
# fundedDate
# raisedAmt
# raisedCurrency
# round
# ---
# permalink
# company
# employeeCount
# category
# city
# state
# fundedDate
# raisedAmt
# raisedCurrency
# round
# ---
# 105

delete_CkStringBuilder $sb
delete_CkCsv $csv