Announcement

Collapse
No announcement yet.

mehrere CSV-Dateien zu einer zusammenführen

Collapse
This topic is closed.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • mehrere CSV-Dateien zu einer zusammenführen

    Guten Nabend Zusammen

    Nach einer 3 stündigen suche im Netz wende bzw. nerve ich mich mal wieder euch. Habe folgendes Problem. Habe mir mehrere CSV-Dateien erstellt die Spaltenanzahl und Spaltenüberschriften sind in allen Dateien gleich. Das einzige was sich ändert ist der Inhalt der einzelnen Zeilen. Dies überschneiden sich jedoch auch nicht. Jetzt will ich die Dateien zusammenfassen wie im folgenden Beispiel

    Datei 1
    Spalte A SpalteB SpalteC
    NR. x[m] y[m]
    1001 5 4
    1002 4 4

    Datei2
    Spalte A SpalteB SpalteC
    NR. x[m] y[m]
    11001 5 4
    11002 4 4

    zusammengefasste Datei

    Spalte A SpalteB SpalteC
    NR. x[m] y[m]
    1001 5 4
    1002 4 4
    11001 5 4
    11002 4 4

    Könnt Ihr mir da weiter helfen wie ich es am besten anstelle. Vielleicht auch mit einem Codeschnipsel.

    mfg
    Kleinohr

  • #2
    Eingabedateien zum lesen öffnen, die erste zwei Zeilen überlesen. In Zieldatei zum schreiben öffnen die ersten zwei Zeilen anlegen, dann die Inhalte aus den Eingabedateien zeilenweise reinschreiben.

    Soll auch noch sortiert werden, kommt es darauf an, ob die Eingabedateien sortiert sind oder nicht und wie groß diese sind, so dass eine komplette Verarbeitung im Speicher möglich ist. Ggf. die Eingabedateien jeweils vorsortieren

    Allerdings

    Habe mir mehrere CSV-Dateien erstellt
    Warum nicht gleich in einer...
    Christian

    Comment


    • #3
      hört sich ja nicht so schwer an. die dateien sind maximal 200 kb groß.
      wie sieht denn so eine wie zuvor beschriebene programmierung aus

      Comment


      • #4
        Hallo Kleinohr,

        wie sieht denn so eine wie zuvor beschriebene programmierung aus
        Naja, mehr als den Algorithmus kann dir Christian nicht geben. Der Rest, also das Programmieren, sollte doch mit den Grundlagen möglich sein.

        Falls nicht -> Grundlagen lernen.

        Bitte versteh das...du willst ja lernen.


        mfG Gü
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment


        • #5
          File.Open("C:\\....")
          nur das lesen ab der zweiten stelle wie macht man das

          wieder mit StreamREader oder gibt es noch einen besseren Befehl.
          Zuletzt editiert von Kleinohr; 17.05.2010, 22:54.

          Comment


          • #6
            wieder mit StreamREader oder gibt es noch einen besseren Befehl.
            Der StreamReader ist dein Freund beim Lesen und der StreamWriter beim Schreiben.


            mfG Gü
            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

            Comment


            • #7
              Wenn die Dateien nicht exorbitant groß sind kannst Du auch einfach File.ReadAllLines() nehmen. Einfach beide Dateien so einlesen. Ein neues Array machen bei welchem die gewünschten Zeilen hintereinander hängen und dann das Array wieder in eine Datei schreiben.
              Bei 200kB kann man wohl auch ruhigem Gewissens diese Lösung nehmen

              Comment


              • #8
                fanderlfs letzter Vorschlag ist bei 200 kB in der Tat sehr vernünftig. Dazu kann ich noch auf die verschiedenen Varianten von Array.Copy/CopyTo hinweisen, mit denen man auch Teile von Arrays mit einem Befehl kopieren kann; die Schleifen muss man dann nicht selbst programmieren. Jürgen
                Zuletzt editiert von Jürgen Thomas; 18.05.2010, 08:46. Reason: Wegen Doppel-Posts geschlossen (auch wenn schon alle möglichen Lösungen vorhanden sind).

                Comment

                Working...
                X