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

时间:2012-09-22 15:24:57

标签: 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

请注意,在最后一行中,它不完整。 以下是我在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]))

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

由于 肯尼斯

1 个答案:

答案 0 :(得分:14)

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