如果循环创建了大量输出,则在控制台中将其打印出来会非常混乱。要解决此问题,我想将输出保存在表中,然后将其打印到csv文件中。
这是我尝试过的代码的简化版本:
n=2
output = Any[0 for i in 1:(1+n*2), j in 1:3] #table in which output should be saved
output[1,1]="run"
output[1, (1+i):(1+i+1) for i in 1:n] = ["A"i "B"i]
for run in 1:2
output[1, run+1] = run
output[2:width(output), run+1] = 1:(width(output)-1)
end
writecsv("C:/Users/user1/Desktop/output.csv",output)
输出应如下所示:
run___A1____B1____A2___B2
1_____1_____2_____3_____4
2_____1_____2_____3_____4
但是,我在foutht线上得到一个错误:syntax: missing separator in array expression
。我确实理解我的语法似乎有问题,但就我看来而言,这是正确的。
当您创建output
矩阵时,Julia会自动将其专门化为Int
s矩阵。你可以做的是明确告诉Julia创建一个元素类型为Any
的矩阵
为此,请更换
output = [0 for i in 1:(1+n*2), j in 1:3]
同
output = Any[0 for i in 1:(1+n*2), j in 1:3]