2012-09-22 21 views
6

F # içinde bir çıktı dosyası yazarken problem yaşıyorum. Çıktıdaki eksik verileri yazdırır. Kodumun hangi bölümünün yanlış olduğundan emin değilim ya da daha iyi bir yolu varsa. Aşağıda, çıktı dosyasındaki son birkaç satırın anlık görüntüsü var.F # dosyasında bir çıktı yazma dosyası

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 

Son satırda, bu eksik olduğunu unutmayın. Aşağıda son satırında, bu eksik olduğunu F # kodum

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

Not olduğunu. Bir dosyaya yazmak yerine printfn kullanırsam, tüm bilgileri konsolda tamamen görüntüler. outData.Flush veya outData.Close arayıp sonra dosyanın içeriğini kontrol etmek

Teşekkür Kenneth

cevap

14

deneyin. Bazı veriler hala arabellekte olabilir.

+0

Teşekkürler. Sorunu çözüyor. –

+0

@KennethGoh Ayrıca, kaynak tüketen sınıfların nasıl düzenleneceği konusunda da [bu yanıt] bölümüne bakın (http://stackoverflow.com/a/3720241/974789). – bytebuster

+5

@KennethGoh Sorun çözülürse, yanıtın yanındaki o boş onay kutusunu tıklayın ... –

İlgili konular