Lua
Lua
CSV Append New Row
Demonstrates how to append a new row to a CSV.Chilkat Lua Downloads
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())
-- Let's say we want to append the following row:
-- yelp,Yelp,,web,San Francisco,CA,1-Jul-04,1000000,USD,a
-- If we have the row as-is, we could do this:
local csvTemp = chilkat.Csv.new()
success = csvTemp:load_from_string("yelp,Yelp,,web,San Francisco,CA,1-Jul-04,1000000,USD,a")
local numCols = csvTemp.num_columns
local i = 0
local row = csv.num_rows
while i < numCols do
csv:set_cell(row, i, csvTemp:get_cell(0, i))
i = i + 1
end
-- Show the updated CSV:
print(csv:save_to_string())
-- Output should be:
-- 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
-- yelp,Yelp,,web,San Francisco,CA,1-Jul-04,1000000,USD,a