Dateiauswertung

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Agent.

    Dateiauswertung

    Hallo VB Gemeinde,

    ich freunde mich so langsam mit VB an ist ja echt toll was alles geht ;) .

    Eine Denkaufgabe habe ich und weiss nicht so richtig wie ich das lösen soll.

    Ich habe eine CSV Datei:

    Das einlesen der Datei ist klar auch das vergleichen der Datensätze nur den Index weiterzählen wie soll ich das machen?


    [list]
    x,Index,Wert,Wert
    1;200;Test;Test3
    3;201;VBA;Test5
    5;200;Test;Test3
    6;201;VBA;Test5
    1;201;VBA;Test5
    9;200;Testx;Test3
    1;202;VBA;Test5
    ...................... ca. 10000 Zeilen!
    [/list]


    Diese Textdatei muss ich nun in viele einzelne Dateien Aufteilen mit folgendem Inhalt.

    Dateiname entspricht dem zweiten Datensatz.txt (Index)
    z.B: 200.txt
    [list]
    1 'das sind fortlaufende Zahlen
    1;200;Test;Test3
    2 'lfdNr.
    5;200;Test;Test3
    3 'lfdNr.
    9;200;Testx;Test3
    /list]


    z.B.
    201.txt

    [list]
    x,Index,Wert,Wert
    1.
    3;201;VBA;Test5
    2.
    6;201;VBA;Test5
    3.
    1;201;VBA;Test5
    [/list]


    Vielen Dankl

    gruß Kevin[/list]
    Hi!

    Bin mir nicht ganz sicher, was du meinst, aber vielleicht hilft dir das als denkanstoß:

    VB.NET-Quellcode

    1. Dim i as Long = 0
    2. Dim strOut as String = ""
    3. For .... 'jeden Datensatz
    4. If ... 'vergleichen
    5. i += 1 'Index erhöhen
    6. strOut &= ... & i & ... 'in den temporären String schreiben
    7. End If ...
    8. Next
    9. ... 'Datei speichern

    Dateiauswertung

    Hi Andy,

    also dann zähle ich die Werte also wie oft der INDEX in der Datei klar verstanden,

    Ich muss nun aber ganz viele kleine Dateien Schreiben , so zähle ich ja nur den INDEX. Z.B. muss ich alle Werte mit dem Index in die Datei 200.txt schreiben, die mit dem Wert 201 in die 201.txt.

    Dann muss ich die CSV Datei ja zig fach durchlaufen geht das nicht in einem Durchgang
    Schau Die mal die Musterdateien an dann weisst Du wie ichs meine, hoffe ich .

    Danke

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „kevinhro“ ()

    Du kannst ja auch eine temporäre Datei erstellen, wenn der RAM so klein bei dir ist ;)
    Übrigens, wenn der RAM voll ist, sollte Windows doch automatisch auf den virtuellen Arbeitsspeicher ausweichen?! Denn mit einem Array im RAM geht es nun mal schneller als in einer Datei.
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
  • 2 Benutzer haben hier geschrieben