2012-09-22 15 views
6

Tengo problemas para escribir un archivo de salida en F #. Imprime datos incompletos en la salida. No estoy seguro de qué parte de mi código es incorrecta o si hay alguna forma mejor de hacerlo. A continuación se muestra una instantánea de las últimas líneas en el archivo de salida.Escribo un seq en F # en el archivo de salida

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 

Tenga en cuenta que en la última línea, está incompleto. A continuación es mi código en C#

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])) 

Tenga en cuenta que en la última línea, es incompleta. Si uso printfn en lugar de escribir en un archivo, se mostrará toda la información en la consola.

Gracias Kenneth

Respuesta

14

intenta llamar outData.Flush o outData.Close y luego comprobar el contenido del archivo. Algunos datos aún pueden estar en buffer.

+0

Gracias. Resuelve el problema. –

+0

@KennethGoh Vea también [esta respuesta] (http://stackoverflow.com/a/3720241/974789) para saber cómo organizar las clases que consumen recursos. – bytebuster

+5

@KennethGoh Si resuelve el problema, haga clic en la casilla de verificación vacía al lado de la respuesta ... –

Cuestiones relacionadas