27 lines
590 B
Lua
27 lines
590 B
Lua
local csv={}
|
|
|
|
-- read csv file, save records and fields into table
|
|
for line in io.lines('file.csv') do
|
|
local fields = {}
|
|
for field in line:gmatch"[^,]+" do
|
|
table.insert(fields, tonumber(field) or field)
|
|
end
|
|
table.insert(csv, fields)
|
|
end
|
|
|
|
-- change csv values
|
|
table.insert(csv[1], 'SUM')
|
|
for i=2,#csv do
|
|
local sum=0
|
|
for _, val in ipairs(csv[i]) do
|
|
sum = sum + val
|
|
end
|
|
table.insert(csv[i], sum)
|
|
end
|
|
|
|
-- Save
|
|
local fileHandler = io.open('file.csv', 'w')
|
|
for NR, fields in ipairs(csv) do
|
|
fileHandler:write(table.concat(fields,","), "\n")
|
|
end
|