Wir haben eine Textdatei mit etwa 100.000 Zeilen, etwa 50 Spalten pro Zeile, die meisten Daten sind ziemlich klein (5 bis 10 Zeichen oder Zahlen).
Dies ist eine ziemlich einfache Aufgabe, aber Sie fragen sich nur, was der beste Weg wäre, diese Daten in eine C # -Datenstruktur zu importieren (zum Beispiel eine DataTable)?
Verwenden Sie den integrierten Textparser von .NET. Es ist kostenlos, hat eine große Fehlerbehandlung und beschäftigt sich mit vielen seltsamen Fällen.
Was ist mit FileHelpers , können Sie die Registerkarte als Trennzeichen definieren. HEAD auf über den Link geliefert zu dieser Seite und haben eine peeksy.
Hoffe, das hilft, Freundliche Grüße, Tom.
Zwei Optionen:
System.Data.OleDb
. Dies hat den Vorteil, dass Sie direkt in eine Datentabelle hineinlesen können, wie Sie es mit sehr wenig Code getan haben, aber es kann schwierig sein, richtig zu arbeiten, da es sich um einen Tab statt um ein Komma handelt. Wie auch immer Sie die Zeilen analysieren, stellen Sie sicher, dass Sie etwas verwenden, das das Weiterleiten und Zurückspulen unterstützt, da dies die Datenquelle Ihres Datenrasters ist. Du willst nicht zuerst alles in den Speicher laden, oder? Wie wäre es, wenn die Datenmenge beim nächsten Mal verzehnfacht werden sollte? Mache etwas, das file.seek tief benutzt, lies nicht alles zuerst in den Speicher. Das ist mein Rat.
Einfach, aber nicht unbedingt ein großartiger Weg:
Lesen Sie die Datei mit einem Textleser in eine Zeichenfolge
Verwenden Sie String.Split, um die Zeilen
Verwenden Sie String.Split mit einem Tabulatorzeichen, um Feldwerte zu erhalten