我正在尝试创建包含以下内容的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**
我做错了什么?
由于
答案 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 | +------+--------+---------+--------+--------+
我能想到的是,您的真实数据必须与您的想法完全不同。在一行数据的末尾是否有额外的逗号?