Ich habe eine CSV-Tabelle mit 24 Spalten und vielen tausend Zeilen. Die Datei ist ca. 20 MB groß. Tatsächlich interessant sind (für mich) nur jeweils zwei Spalten: Eine Spalte mit IDs und eine mit entsprechenden Werten. Meine Idee: Beides in seperate Listen schreiben. Ein Index der einen Liste gehört dann immer zum Index der anderen. Der Weg erscheint mir reichlich unprofessionell. Gibt es da Alternativen?
Selbst wenn nein, dann ist dies so für mich nicht umsetzbar. Es sei denn folgender Ansatz ist, falls der erste überhaupt "richtig" ist, falsch bzw. es gibt eine schnellere Lösung. Die Spalten lese ich folgendermaßen ein (Das ist nur ein Test zur Überlegung der Vorgehensweise, nichts "ernstes"):
Mit dieser Methode jedenfalls kann ich das ganze in die Tonne kloppen. Bei einem Test mit 20 Zeilen, die eingelesen werden, klappt das wunderbar. Bei meinen 15k+ Zeilen ist da aber kein Land in Sicht
Selbst wenn nein, dann ist dies so für mich nicht umsetzbar. Es sei denn folgender Ansatz ist, falls der erste überhaupt "richtig" ist, falsch bzw. es gibt eine schnellere Lösung. Die Spalten lese ich folgendermaßen ein (Das ist nur ein Test zur Überlegung der Vorgehensweise, nichts "ernstes"):
VB.NET-Quellcode
- Dim sr As New StreamReader(New FileStream(strDir, IO.FileMode.Open))
- Dim list As New List(Of String)
- Dim i As Integer = 0
- Do While sr.EndOfStream = False
- list.AddRange(sr.ReadLine.Split(";", 24, StringSplitOptions.None))
- Loop
- For Each line In list
- If (i Mod 24) = 0 Then
- TextBox1.Text += vbCrLf & line
- End If
- i += 1
- Next
Mit dieser Methode jedenfalls kann ich das ganze in die Tonne kloppen. Bei einem Test mit 20 Zeilen, die eingelesen werden, klappt das wunderbar. Bei meinen 15k+ Zeilen ist da aber kein Land in Sicht