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

问题描述 投票:0回答:1

如果循环创建了大量输出,则在控制台中将其打印出来会非常混乱。要解决此问题,我想将输出保存在表中,然后将其打印到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。我确实理解我的语法似乎有问题,但就我看来而言,这是正确的。

csv julia
1个回答
1
投票

当您创建output矩阵时,Julia会自动将其专门化为Ints矩阵。你可以做的是明确告诉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] 
© www.soinside.com 2019 - 2024. All rights reserved.