TCL:通过tcllib报告打印csv文件报告

时间:2012-03-04 13:46:18

标签: csv tcl

我正在尝试创建包含以下内容的csv文件的漂亮报告:

,column_1, column_2,column_3,column_4
line_1,1,2,3,4
line_2,5,6,7,8
line_3,9,0,1,2
line_4,3,4,5,6

以下是我的TCL代码:

#!/bin/sh
# \
exec tclsh "$0" ${1+"$@"}

lappend auto_path .../tcllib/

package require csv
package require struct::matrix
package require report


struct::matrix data
set f [open my.csv "r"]
csv::read2matrix $f data , auto

report::defstyle simpletable {} {
data set [split "[string repeat "| " [columns]]|"]
top set [split "[string repeat "+ - " [columns]]+"]
bottom set [top get]
top enable
bottom enable
}

report::report r 5 style simpletable
r printmatrix data

当我执行它时,我得到:

**report/matrix mismatch in number of columns**

我做错了什么?

由于

1 个答案:

答案 0 :(得分:0)

当我用完全测试你提供的内容时(除了我有一个tcllib的系统副本;我测试的确切版本是Tcl 8.5.2,csv 0.7.3,struct :: matrix 2.0.2,报告0.3.1,全部来自ActiveTcl)然后它工作正常并产生了这个输出:

+------+--------+---------+--------+--------+
|      |column_1| column_2|column_3|column_4|
|line_1|1       |2        |3       |4       |
|line_2|5       |6        |7       |8       |
|line_3|9       |0        |1       |2       |
|line_4|3       |4        |5       |6       |
+------+--------+---------+--------+--------+

我能想到的是,您的真实数据必须与您的想法完全不同。在一行数据的末尾是否有额外的逗号?