如何将行添加到.csv文件中

Ink*_*Pen 4 julia

我需要将行附加到.csv文件.每行包含一个整数向量.要添加的向量是动态生成的,我无法预先知道将添加多少行.
我尝试执行以下操作,但它似乎不创建.csv文件,也不包含单独行上的每个元素.

s = open( "testfile.txt",  "a")

for i in 1:5

  x = rand(Int8, 10)
  writecsv( s, x)

end

close(s)
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!

Col*_*ers 8

因此,您知道如何使用以下方法创建或覆盖csv文件:

x = [1 2 ; 3 4 ; 5 6]
filePath = "/someAbsolutePath/temp1.csv"
writecsv(filePath, x)
Run Code Online (Sandbox Code Playgroud)

如果要追加新行(或一次命中多行),也可以使用writecsv但首先需要以追加模式显式打开文件,然后将生成的文件标识符设置为第一个参数writecsv.继续上面的例子:

fid1 = open(filePath, "a")
writecsv(fid1, [7 8])
close(fid1)
Run Code Online (Sandbox Code Playgroud)

当第一个输入是文件标识符时,我不认为writecsvclose在完成时自动生成文件,因此最终close语句非常重要.或者,您可以在评论中使用@ShaoWeiTeo提出的版本来自动获取close.

  • 我们还可以使用`open(f :: Function,command,mode :: AbstractString ="r",stdio = DevNull)`版本,在写入发生后自动关闭连接.我更喜欢手动关闭,而且我认为是更多Julian方式打开文件... (4认同)