CSV data manipulation: Difference between revisions

no edit summary
(Added BaCon version.)
No edit summary
Line 928:
4,8,12,16,20
5,9,13,17,21</pre>
=={{header|Delphi}}==
{{libheader| System.SysUtils}}
{{libheader| System.IoUtils}}
{{libheader| System.Types}}
{{Trans|C#}}
<lang Delphi>
program CSV_data_manipulation;
 
{$APPTYPE CONSOLE}
 
uses
System.SysUtils,
System.IoUtils,
System.Types;
 
type
TStringDynArrayHelper = record helper for TStringDynArray
function Sum: Integer;
end;
 
{ TStringDynArrayHelper }
 
function TStringDynArrayHelper.Sum: Integer;
var
value: string;
begin
Result := 0;
for value in self do
Result := Result + StrToIntDef(value, 0);
end;
 
const
FILENAME = './Data.csv';
 
var
i: integer;
Input, Row: TStringDynArray;
 
begin
Input := TFile.ReadAllLines(FILENAME);
for i := 0 to High(Input) do
begin
if i = 0 then
Input[i] := Input[i] + ',SUM'
else
begin
Row := Input[i].Split([',']);
Input[i] := Input[i] + ',' + row.Sum.ToString;
end;
end;
TFile.WriteAllLines(FILENAME, Input);
end.</lang>
{{out}}
<pre>C1,C2,C3,C4,C5,SUM
1,5,9,13,17,45
2,6,10,14,18,50
3,7,11,15,19,55
4,8,12,16,20,60</pre>
=={{header|EchoLisp}}==
<lang scheme>
478

edits