RosettaCodeData/Task/CSV-data-manipulation/Sidef/csv-data-manipulation-2.sidef

25 lines
416 B
Plaintext

var csv = require('Text::CSV').new(
Hash(eol => "\n")
);
# Open
var csvfile = %f'data.csv';
var fh = csvfile.open_r;
# Read
var rows = [];
var header = csv.getline(fh);
while (var row = csv.getline(fh)) {
rows.append(row.map{.to_num});
}
# Process
header.append('SUM');
rows.each { |row| row.append(row.sum) };
# Write
var out = csvfile.open_w;
[header, rows...].each { |row|
csv.print(out, row);
};