CSV data manipulation: Difference between revisions

→‎Tcl: Added implementation
(→‎Tcl: Added implementation)
Line 70:
Do i=1 To i-1
Call lineout csv,l.i
End</lang>
</lang>
{{out}}
<pre>C1,C2,C3,C4,C5,SUM
Line 78 ⟶ 77:
3,7,11,15,19,55
4,8,12,16,20,60</pre>
 
=={{header|Run BASIC}}==
<lang runbasic>csv$ = "C1,C2,C3,C4,C5
Line 127:
3,7,11,99,19
4,8,12,16,20</pre>
 
=={{header|Tcl}}==
{{tcllib|struct::matrix}}
{{tcllib|csv}}
<lang tcl>package require struct::matrix
package require csv
 
proc addSumColumn {filename {title "SUM"}} {
set m [struct::matrix]
 
set f [open $filename]
csv::read2matrix $f $m "," auto
close $f
 
set sumcol [$m columns]
$m add column $title
for {set i 1} {$i < [$m rows]} {incr i} {
# Fill out a dummy value
$m set cell $sumcol $i 0
$m set cell $sumcol $i [tcl::mathop::+ {*}[$m get row $i]]
}
 
set f [open $filename w]
csv::writematrix $m $f
close $f
 
$m destroy
}
 
addSumColumn "example.csv"</lang>
{{out|Output (in <tt>example.csv</tt>)}}
<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>
Anonymous user