Sample code for 30+ languages & platforms
Lua

CSV Append a Column with Values

See more CSV Examples

Append an additional column and initialize with a value.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

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

-- Show the initial CSV:
print(csv:save_to_string())
print("----")

-- Now let's add a new rightmost column.
local numColumns = csv.num_columns
local numRows = csv.num_rows

-- Set the column name.
local columnIdx = numColumns
csv:set_column_name(columnIdx, "new_column")

-- Add the column to each row.
local i = 0
while i < numRows do
    csv:set_cell(i, columnIdx, "newData")
    i = i + 1
end

-- Show the updated CSV:
print(csv:save_to_string())