我有两个变量,让我们说$ a,列表名称& $ b随着年龄的增长,当我尝试重定向到csv时,它会创建csv但是$ a& $ b落入相同的行而不是不同的,我如何将它们分成两个不同的行?
puts $outfile "$b_1 \t$c"
set outfile [open "result_table_sort.csv" w+]
答案 0 :(得分:0)
创建CSV文件的推荐方法是使用Tcllib中的csv
package。它可以为您处理各种棘手的边缘情况,因此您无需这样做。
package require csv
set outfile [open "thing.csv" w]
foreach aRow $a bRow $b {
puts $outfile [csv::join [list $aRow $bRow]]
}
close $outfile
您可以通过将\t
作为分隔符添加到csv::join
来切换为生成制表符分隔的输出:
puts $outfile [csv::join [list $aRow $bRow] "\t"]
还要考虑使用csv::joinlist
和csv::joinmatrix
命令。它们都允许您一次构建整个表,第一个作为列表列表(行列表,每行包含列列表),第二个作为矩阵(在Tcllib中struct::matrix
package中定义的结构)
答案 1 :(得分:0)
通过在两个变量之间放置逗号来解决我的问题找到解决方案....
puts $outfile "$b_1,\t$c"
set outfile [open "result_table_sort.csv" w+]