RosettaCodeData/Task/CSV-data-manipulation/Phix/csv-data-manipulation.phix

23 lines
644 B
Plaintext

integer fn = open("test.csv","r")
sequence lines = {}
while 1 do
object line = gets(fn)
if atom(line) then exit end if
lines = append(lines,split(trim(line),','))
end while
close(fn)
lines[1] = join(lines[1],',')&",SUM"
for i=2 to length(lines) do
sequence s = lines[i]
for j=1 to length(s) do
{{s[j]}} = scanf(s[j],"%d")
end for
-- s[rand(length(s))] = rand(100) -- (if you like)
lines[i] = sprintf("%d,%d,%d,%d,%d,%d",s&sum(s))
end for
lines = join(lines,'\n')
fn = open("out.csv","w")
puts(fn,lines)
close(fn)
puts(1,lines)