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.



OPTION COLLAPSE TRUE
OPTION DELIM ","
 
csv$ = LOAD$("data.csv")
 
DOTIMES AMOUNT(csv$, NL$)
    line$ = TOKEN$(csv$, _, NL$)
 
    IF _ = 1 THEN
        total$ = APPEND$(line$, 0, "SUM")
    ELSE
        line$ = CHANGE$(line$, _, STR$(_*10) )
        total$ = APPEND$(total$, 0, line$, NL$)
        total$ = APPEND$(total$, 0, STR$(LOOP(i, AMOUNT(line$), VAL(TOKEN$(line$, i)))) )
    FI
DONE
 
SAVE total$ TO "data.csv"
PRINT total$
 