将F#中的seq写入输出文件

Ken*_*Goh 7 f#

我在F#中编写输出文件时遇到问题.它在输出中打印不完整的数据.我不确定我的代码的哪一部分是错误的,或者是否有更好的方法可以做到这一点.下面是输出文件中最后几行的快照.

NKU12,201209121039,8960,8960,8960,8960
NKU12,201209121040,8960,8960,8960,8960
NKU12,201209121041,8960,8960,8960,8960
NKU12,201209121043,8960,8960,8960,8960
NKU12,201209121045,8960,8
Run Code Online (Sandbox Code Playgroud)

请注意,在最后一行中,它不完整.下面是我在F#中的代码

let outFile = new StreamWriter("Test.csv")

let dataFrame = lines fileName
                |> Seq.map (fun y -> y.Split([|','|]))
                |> Seq.filter (fun some function) 
                |> Seq.iter (fun y -> outFile.WriteLine(sprintf "%s,%s,%s,%s,%s,%s" y.[0] (y.[1]+y.[2]) y.[3] y.[4] y.[5] y.[6]))
Run Code Online (Sandbox Code Playgroud)

请注意,在最后一行中,它不完整.如果我使用printfn而不是写入文件,它将在控制台上完全显示所有信息.

谢谢Kenneth

des*_*sco 14

尝试调用outData.Flush或outData.Close,然后检查文件的内容.某些数据可能仍在缓冲区中.

  • @KennethGoh如果它解决了问题,请单击答案旁边的空心复选框... (6认同)