7

我在 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 而不是写入文件,它将在控制台上完全显示所有信息。

谢谢肯尼斯

4

1 回答 1

14

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

于 2012-09-22T15:32:40.907 回答