TCL脚本重组csv文件数据



我是tcl脚本的新手。

我的CSV文件中有2列。

示例:My data

A 12
D 18
B 33
A 11
D 49

我想使用第1列数据提取第2列的值。

所需输出:


A: 12,11
B: 33
D: 18, 49

有人能帮我写一个tcl脚本来执行这个任务吗?提前谢谢你。

这是一个众所周知的问题,Tcl的dict lappend正是您需要解决它的工具(与tcllib中的csv::split一起对输入数据进行解析)。

package require csv
# Read split and collect
set data {}
while {[gets stdin line] >= 0} {
lassign [csv::split $line] key value; # You might need to configure this
dict lappend data $key $value
}
# Write out
puts ""; # Blank header line
dict for {key values} $data {
puts [format "%s: %s" $key [join $values ", "]]
}

上面的代码被写成标准输入到标准输出的过滤器。适应与文件一起工作是一个练习。

相关内容

  • 没有找到相关文章

最新更新