Perl
Perl
CSV Set Column Name
Demonstrates how to set the name of a column in a CSV.Chilkat Perl Downloads
use chilkat();
$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
$bCrlf = 1;
$sb = chilkat::CkStringBuilder->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);
$csv = chilkat::CkCsv->new();
$csv->put_HasColumnNames(1);
$success = $csv->LoadFromString($sb->getAsString());
# Get each column name..
$numCols = $csv->get_NumColumns();
$i = 0;
while ($i < $numCols) {
print $csv->getColumnName($i) . "\r\n";
$i = $i + 1;
}
print "---" . "\r\n";
# Change the "numEmps" column name to "employeeCount"
$success = $csv->SetColumnName(2,"employeeCount");
$numCols = $csv->get_NumColumns();
$i = 0;
while ($i < $numCols) {
print $csv->getColumnName($i) . "\r\n";
$i = $i + 1;
}
# Use the updated column name...
print "---" . "\r\n";
print $csv->getCellByName(3,"employeeCount") . "\r\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