CSV spreadsheet files are suitable for storing tabular data in a relatively portable way.

The CSV format is flexible but somewhat ill-defined.

For present purposes, authors may assume that the data fields contain no commas, backslashes, or quotation marks.



Task

Read a CSV file, change some values and save the changes back to a file.

For this task we will use the following CSV file:

C1,C2,C3,C4,C5
1,5,9,13,17
2,6,10,14,18
3,7,11,15,19
4,8,12,16,20

Suggestions


 Show how to add a column, headed 'SUM', of the sums of the rows.
 If possible, illustrate the use of built-in or standard functions, methods, or libraries, that handle generic CSV files.



import Utils   # To get CSV procedures
 
procedure main(A)
    f := open(A[1]) | &input
    i := 1
    write(!f)   # header line(?)
    every csv := parseCSV(!f) do {
        csv[i+:=1] *:= 100
        write(encodeCSV(csv))
        }
end