Die Open-Source Angara.Tabelle Bibliothek erlaubt es, CSV in typisierte Spalten zu laden, so dass Sie die Arrays aus den Spalten erhalten können. Jede Spalte kann sowohl nach Namen als auch nach Index indiziert werden. Siehe http://predictionmachines.github.io/Angara.Table/saveload.html .
Die Bibliothek folgt RFC4180 für CSV; sie ermöglicht Typinferenz und mehrzeilige Strings.
Beispiel:
using System.Collections.Immutable;
using Angara.Data;
using Angara.Data.DelimitedFile;
...
ReadSettings settings = new ReadSettings(Delimiter.Semicolon, false, true, null, null);
Table table = Table.Load("data.csv", settings);
ImmutableArray<double> a = table["double-column-name"].Rows.AsReal;
for(int i = 0; i < a.Length; i++)
{
Console.WriteLine("{0}: {1}", i, a[i]);
}
Sie können einen Spaltentyp mit dem Typ Column anzeigen, z. B.
Column c = table["double-column-name"];
Console.WriteLine("Column {0} is double: {1}", c.Name, c.Rows.IsRealColumn);
Da die Bibliothek auf F# ausgerichtet ist, müssen Sie möglicherweise einen Verweis auf die FSharp.Core 4.4-Assembly hinzufügen; klicken Sie im Projekt auf "Verweis hinzufügen" und wählen Sie FSharp.Core 4.4 unter "Assemblies" -> "Extensions".