Sample code for 30+ languages & platforms
Lua

CSV Set Column Name

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

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

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

local csv = chilkat.Csv.new()

csv.has_column_names = true
local success = csv:load_from_string(sb:get_as_string())

-- Get each column name..
local numCols = csv.num_columns
local i = 0
while i < numCols do
    print(csv:get_column_name(i))
    i = i + 1
end

print("---")

-- Change the "numEmps" column name to "employeeCount"
success = csv:set_column_name(2, "employeeCount")

numCols = csv.num_columns
i = 0
while i < numCols do
    print(csv:get_column_name(i))
    i = i + 1
end

-- Use the updated column name...
print("---")
print(csv:get_cell_by_name(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