Sample code for 30+ languages & platforms
Perl

CSV Set Column Name

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

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

# 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

my $bCrlf = 1;
my $sb = Chilkat2::StringBuilder->new;
$sb->AppendLine('permalink,company,numEmps,category,city,state,fundedDate,raisedAmt,raisedCurrency,round', $bCrlf);
$sb->AppendLine('lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b', $bCrlf);
$sb->AppendLine('mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed', $bCrlf);
$sb->AppendLine('flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a', $bCrlf);
$sb->AppendLine('infusionsoft,Infusionsoft,105,software,Gilbert,AZ,1-Oct-07,9000000,USD,a', $bCrlf);
$sb->AppendLine('gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed', $bCrlf);

my $csv = Chilkat2::Csv->new;

$csv->HasColumnNames(1);
my $success = $csv->LoadFromString($sb->GetAsString());

# Get each column name..
my $numCols = $csv->NumColumns;
my $i = 0;
while ($i < $numCols) {
    print $csv->GetColumnName($i), "\n";
    $i = $i + 1;
}

print "---\n";

# Change the "numEmps" column name to "employeeCount"
$success = $csv->SetColumnName(2, 'employeeCount');

$numCols = $csv->NumColumns;
$i = 0;
while ($i < $numCols) {
    print $csv->GetColumnName($i), "\n";
    $i = $i + 1;
}

# Use the updated column name...
print "---\n";
print $csv->GetCellByName(3, 'employeeCount'), "\n";

# Output should be:

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