我有两个变量,比如说$ a,列表名称为& $ b随着年龄,当我尝试重定向到csv时,它创建csv,但$ a & $ b都落入相同的行而不是不同的,我怎样才能将它们分成两个不同的行?如何使用tcl创建csv文件
puts $outfile "$b_1 \t$c"
set outfile [open "result_table_sort.csv" w+]
我有两个变量,比如说$ a,列表名称为& $ b随着年龄,当我尝试重定向到csv时,它创建csv,但$ a & $ b都落入相同的行而不是不同的,我怎样才能将它们分成两个不同的行?如何使用tcl创建csv文件
puts $outfile "$b_1 \t$c"
set outfile [open "result_table_sort.csv" w+]
创建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中定义的结构)。
发现把逗号之间的两个变量解决了我的问题解决....
puts $outfile "$b_1,\t$c"
set outfile [open "result_table_sort.csv" w+]
不包? – CLEX420