Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
29
Task/CSV-data-manipulation/Tcl/csv-data-manipulation-1.tcl
Normal file
29
Task/CSV-data-manipulation/Tcl/csv-data-manipulation-1.tcl
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
package require struct::matrix
|
||||
package require csv
|
||||
|
||||
proc addSumColumn {filename {title "SUM"}} {
|
||||
set m [struct::matrix]
|
||||
|
||||
# Load the CSV in
|
||||
set f [open $filename]
|
||||
csv::read2matrix $f $m "," auto
|
||||
close $f
|
||||
|
||||
# Add the column with the sums
|
||||
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]]
|
||||
}
|
||||
|
||||
# Write the CSV out
|
||||
set f [open $filename w]
|
||||
csv::writematrix $m $f
|
||||
close $f
|
||||
|
||||
$m destroy
|
||||
}
|
||||
|
||||
addSumColumn "example.csv"
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
set f [open example.csv r]
|
||||
puts "[gets $f],SUM"
|
||||
while { [gets $f row] > 0 } {
|
||||
puts "$row,[expr [string map {, +} $row]]"
|
||||
}
|
||||
close $f
|
||||
Loading…
Add table
Add a link
Reference in a new issue