Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- open System
- open System.IO
- open Microsoft.Data.Analysis
- let columns : DataFrameColumn array =
- [|
- UInt16DataFrameColumn("VNR", 6L)
- ByteDataFrameColumn("Volume", 10L)
- SingleDataFrameColumn("Value", 12L)
- ByteDataFrameColumn("Farmacy number", 4L)
- PrimitiveDataFrameColumn<DateTime>("Date of sale", 8L)
- CharDataFrameColumn("Sale period", 1L)
- ByteDataFrameColumn("Hospital number", 7L)
- StringDataFrameColumn("Delivery address", 4L)
- StringDataFrameColumn("Wholesaler", 9L)
- |]
- use stream =
- new FileStream(
- @"file.txt",
- FileMode.Open, FileAccess.Read, FileShare.Read)
- let reader = new TextFieldParser (stream)
- reader.TextFieldType <- FieldType.FixedWidth
- let widths = columns |> Array.map (fun c -> c.Length |> int)
- reader.SetFieldWidths widths
- let df = DataFrame columns
- while not <| reader.EndOfData do
- try
- let currentRow = reader.ReadFields ()
- df.Append(currentRow |> Seq.map box, true) |> ignore
- //printfn "%A" currentRow
- with ex -> printfn "%s" ex.Message
- Console.WriteLine df
- (*
- Line let df = DataFrame columns
- System.ArgumentException: Column lengths are mismatched (Parameter 'column')
- at Microsoft.Data.Analysis.DataFrameColumnCollection.InsertItem(Int32 columnIndex, DataFrameColumn column)
- at Microsoft.Data.Analysis.DataFrameColumnCollection..ctor(IEnumerable`1 columns, Action columnsChanged)
- at Microsoft.Data.Analysis.DataFrame..ctor(DataFrameColumn[] columns)
- *)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement