CSV Inhalte zusammenführen und als eigenständige Datei abspeichern

  • Hallo zusammen,

    ich habe eine Frage und zwar lese ich eine .csv Datei aus, Anhand dieser wird eine Datei mit Zelleninhalt Spalte eins erstellt, in diese Datei wird dann der Inhalt aus einer anderen Zelle geschrieben, bis sich der Inhalt der ersten Spalte ändert.
    Das Problem ist, dass die auszulesende CSV recht groß ist, (400.000 Zeilen)
    Somit geht das am Anfang einigermaßen fix, wird aber sehr langsam bei Zeiten.

    Anbei den Code den ich jetzt nutze, bestimmt gibt es eine Möglichkeit die Sache zu beschleunigen ich hoffe jemand kann mir ein paar Tipps geben!

    Spoiler anzeigen

    Vielen Dank im Voraus!

  • ich habe eine Frage und zwar lese ich eine .csv Datei aus, Anhand dieser wird eine Datei mit Zelleninhalt Spalte eins erstellt, in diese Datei wird dann der Inhalt aus einer anderen Zelle geschrieben

    Um ehrlich zu sein...ich glaube ich habe die Aufgabenstellung nicht ganz verstanden
    Ich mag dir da gern helfen, jedoch müsstest du mir nochmal den Aufbau der Dateien erläutern:

    Ursprungsdatei.csv
    Testzeile1;Irgendwelche;Infos
    Testzeile2;Irgendwelche;Infos
    Testzeile3;Irgendwelche;Infos

    Dann soll nun eine neue Datei Testzeile1.txt erstellt werden, die dann Irgenwelche;Infos enthalten soll?

    Grüße Yaerox

    Grüne Hölle

  • Du kannst das Original CSV mit _FileReadToArray in ein Array einlesen. In diesem Array dann die Daten so manipulieren wie benötigt und anschließend mit _FileWriteFromArray abspeichern.

  • Danke für die Antworten, habe es jetzt etwas vereinfacht, nun müssen aus lediglich einer .csv (340mb)
    Dateien erstellt werden.
    Hier ein kleiner Auszug und was passieren soll.

    Zellen mit X sollen ignoriert werden, zudem ist die CSV ; getrennt, die fehler enthalten ="TEXT" um korrekt angezeigt zu werden(Nummern etc)


    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
    x NAME NUMMER x x KATEGORIE ISX DESC TOU OE TYP x x x x x x x x x
    x NAME NUMMER x x KATEGORIE ISX DESC TOU OE TYP x x x x x x x x x
    x NAME NUMMER x x KATEGORIE ISX DESC TOU OE TYP x x x x x x x x x

    So also die CSV soll eingelesen werden und nun folgendes tun

    2 Dateien erstellen
    \DESC\NUMMER.txt
    \AT\NUMMER.csv

    in die NUMMER.txt sollen ein paar der Infos reingeschrieben werden, die Datei soll dann so aussehen

    die CSV sollte so aussehen

    PID TYPK FITC
    TYP TOU
    TYP TOU

    Sobald sich dann die Nummer ändert, soll dementsprechend die neue Datei erstellt werden

    Einmal editiert, zuletzt von vism (14. März 2016 um 16:31)

  • Bin leider nicht ganz fertig geworden, daher nicht 100%ig getestet. Vll. magst du den Stand bislang ja haben ... eigentlich ist hier fast alles drinnen ... musst nur noch die Ordnerstruktur anpassen, ich erstelle aktuell beide Dateien im gleichen Verzeichnis.

    So habe ich die Aufgabe jetzt zumindest verstanden :)

    Code
    Eins;Zwei;Drei;Vier;Fuenf
    11;12;13;14;15
    21;22;23;24;25
    31;32;33;34;35

    Grüße Yaerox

    Grüne Hölle

  • Vielen Vielen Dank allen,

    Nutze jetzt folgenden Code für mein Vorhaben.

    Einmal editiert, zuletzt von vism (15. März 2016 um 03:01)