创建表并将其保存到Julia中的csv文件中

时间:2019-04-05 10:39:49

标签: csv julia

如果循环创建大量输出,则在控制台中将其打印出来会造成混乱。为了解决此问题,我想将输出保存在一个表中,然后将其打印到一个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

但是,我在以下一行错误:syntax: missing separator in array expression。我确实知道我的语法似乎有问题,但是据我所知,这样做是正确的。

1 个答案:

答案 0 :(得分:1)

创建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]