2016-11-07 77 views
0

我有两个变量,比如说$ a,列表名称为& $ b随着年龄,当我尝试重定向到csv时,它创建csv,但$ a & $ b都落入相同的行而不是不同的,我怎样才能将它们分成两个不同的行?如何使用tcl创建csv文件

puts $outfile "$b_1 \t$c" 
    set outfile [open "result_table_sort.csv" w+] 

回答

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::joinlistcsv::joinmatrix命令。他们都可以一次构建一个表格,第一个表格作为列表列表(行列表,第一行包含列表列表),第二列表格作为矩阵(在Tcllib中的struct::matrix package中定义的结构)。

+0

不包? – CLEX420

0

发现把逗号之间的两个变量解决了我的问题解决....

puts $outfile "$b_1,\t$c" 
    set outfile [open "result_table_sort.csv" w+]