Office: (Office 2010) Die ersten Zeilen einer csv/txt Datei entfernen

Helfe beim Thema Die ersten Zeilen einer csv/txt Datei entfernen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo! Eberhard (ebs17) hatte hier beschrieben, wie man eine bestimmte Anzahl an ersten Zeilen von Text bzw. CSV Dateien entfernt, bevor sie... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Claypool, 6. Oktober 2014.

  1. Die ersten Zeilen einer csv/txt Datei entfernen


    Hallo!

    Eberhard (ebs17) hatte hier beschrieben, wie man eine bestimmte Anzahl an ersten Zeilen von Text bzw. CSV Dateien entfernt, bevor sie importiert werden.

    Ich habe jetzt ebenfalls Text bzw. CSV Dateien, die ich mit Eberhards Codebeispiel bearbeite. Vielen Dank für deine Vorarbeit Eberhard.
    In den CSV Dateien (unter Excel betrachtet) sieht man 2 Zeilen, die entfernt werden müssen, dann kommen in der 3. Zeile die Spaltenüberschriften.

    In der Textdatei (im Editor ohne Zeilenumbruch angezeigt) ist der Übergang ohne erkennbares Trennzeichen zwischen Infozeile und den Spaltenüberschriften ('Ende Text der ÜberschiftSpalte1;Spalte2...)

    Mit Zeilenumbruch gibt es genau an der Stelle auch einen entsprechenden Zeilenumbruch.

    Ich habe es jetzt als Trennzeichen mit dem letzten Begriff aus der Überschriftenzeile probiert '(07143)'. Dann bleibt allerdings eine erste leere Zeile übrig. Verwende ich als Trennzeichen die erste Spaltenüberschrift 'LfdNr' dann gibt es die Leerzeile nicht, die erste Spaltenüberschrift ist dann aber entfernt. Ist ja auch logisch.

    Wie kann ich das Problem in den Griff bekommen?

    Nach dem Import habe ich pro Datei einen Datensatz importiert, der nur einen Wert in einer Spalte enthält. Nämlich einen Teil aus dem Dateinamen. Alles andere kommt aus den Dateien selber. Das ist bei der Weiterverarbeitung nicht schlimm, da anhand der Spalten gruppiert und summiert wird. Da fallen dann diese "unnötigen" Datensätze nicht ins Gewicht.
    Zunächst dachte ich, dass bei der Kreuztabelle die erste Leerzeile, die dort entsteht, ihre Ursache in den unvollständigen Datensätzen findet. Das ist aber nicht der Fall und evtl auch ein anderes Thema.

    Eine anonymisierte CSV Datei kann ich leider nicht schicken, sobald ich die in Excel bearbeite und als CSV speichere ist auch an anderen Stellen verändert, die ich nicht bearbeitet habe. Textdatei kann ich bei bedarf und bearbeitet sowie gekürzt zur Verfügung stellen.

    Hier sind die beiden Prozeduren:
    Code:
    Vielen Dank!

    Grüße
    Ingo

    :)
     
    Claypool, 6. Oktober 2014
    #1
  2. Eine Textdatei zum Testen wäre nicht schlecht. Vielleicht ist als Zeilentrenner nur der "Linux-Umbruch" in Verwendung und du müsstet vbCr (also ohne Lf) oder vbLf (also ohne Cr) als Trennzeichen verwenden?
     
    Arne Dieckmann, 8. Oktober 2014
    #2
  3. Hallo,
    wenn du die CSV mit Excel öffnest wird sie konvertiert.
    Es macht aber keinen Sinn ein konvertiertes Ergebnis zu posten.

    Poste die csv (Textdatei). Wenn du sie anonymisieren musst, darfst du natürlich die Struktur (z.B. Zeilenumbruchszeichen) nicht verändern.

    Hast du dafür keinen "ordentlichen" Editor zur Verfügung tut es zur Not vermutlich auch das NodePad (!!nicht Word oder Wordpad).

    Ps.
    Dein Löschcode ist dabei ein eher ungünstiger Ansatz. Hier sollte man zeilenweise einlesen dann ist es egal ob Windows/Unix oder MAC-Datei.
     
    Steffen0815, 8. Oktober 2014
    #3
  4. Die ersten Zeilen einer csv/txt Datei entfernen

    Irgend etwas muss es ja geben, was dann auch ermittelbar ist:
    a) Verwende einen besseren Editor wie etwa Notepad++ . Dort werden dann auch Steuerzeichen (Whitespaces) sichtbar dargestellt.
    b) Durchlaufe den interessanten Bereich zeichenweise und schau Dir so das Trennzeichen an:
    Code:
    Den zweiten Teil habe ich nicht verstanden.
     
  5. Hallo Arne, hallo Steffen, hallo Eberhard,

    danke für eure Antworten.

    ich hatte Chr(10), vbCrLf und vbCr probiert. vbLf schloss ich aus... Danke für den Tipp. Jetzt habe ich das Trennzeichen gefunden.

    Es wird aber immer noch ein Datensatz zuviel angelegt und das kann ich mir nicht erklären....
    [zwischen diesen Zeilen und den nächsten liegt eine etwas längere Zeitspanne...]
    Doch, kann ich. In den Dateien ist in der allerletzten Zeile noch ein Lf.
    Wie kann ich das denn vor dem Import entfernen? Andererseits wäre es nur ein Schönheitsfehler. Berechnet werden die leeren Datensätze nicht. Die gehören einfach nicht da hin. Ich könnte vor der eigentlichen Abfrage, die mir eine Zusammenfassung der Daten liefert eine Aktualisierungsabfrage einfügen, die nach dem Import die leeren Zeilen löscht.
    Einfacher wäre es aber, während des Schreibvorgangs der Zeilenentfernung auch die letzte Zeile zu löschen.

    [Jetzt ist noch mehr Zeit vergangen...]
    Noch viel einfacher ist es aber in der MySysIMEXSpecs den Wert des Feldes StartRow auf 2 zu setzen. Dann werden die ersten beiden Zeilen einfach ignoriert. Das Feld kann man über beim Importassisten verändern. Allerdings nur 0 oder 1 je nachdem ob man Spaltenüberschriften Ja oder Nein angibt. Ab Access 2007 oder jünger kann man aber auch direkt auf Tabellenebene den Wert ändern. Ich habe es gerade getestet.

    Bleibt demnach noch die Frage offen: Wie lösche ich die letzte Zeile?

    Grüße
    Ingo
     
    Claypool, 8. Oktober 2014
    #5
  6. Hallo Eberhard,
    Meintest du diesen zweiten Teil?
    Vor der Kreuztabelle wird eine Abfrage gestartet
    Code:
    Der Right Join führt dazu, dass in der Kreuztabelle eine erste leere Zeile entsteht.
    Code:
    Ich denke, dass man diese Zeile nicht entfernen kann. In der ersten Abfrage benötige ich alle Datensätze aus der tbl_FiPo.

    Grüße
    Ingo
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Claypool, 8. Oktober 2014
    #6
  7. Die letzte Zeile entsteht nach oben verlinkter Routine nur über das Split, da der Text mit einem Trennzeichen abschließt.
    Code:
     
  8. Die ersten Zeilen einer csv/txt Datei entfernen

    Hallo Eberhard,

    die Zeile entsteht nicht durch das Split in der verlinkten Routine, sie ist schon vorhanden. Mit deinem Einzeiler kann ich die vor dem Split aber löschen und es werden nun die korrekte Anzahl an Datensätze importiert.

    Viele Dank!

    Grüße
    Ingo
     
    Claypool, 9. Oktober 2014
    #8
Thema:

Die ersten Zeilen einer csv/txt Datei entfernen

Die Seite wird geladen...
  1. Die ersten Zeilen einer csv/txt Datei entfernen - Similar Threads - Zeilen csv Datei

  2. VBA in einer Zeile zu lang

    in Microsoft Excel Hilfe
    VBA in einer Zeile zu lang: Moin, mein VBA Code ist für eine Zeile zu lang. Kann mir einer helfen wie ich den auf 2 Zeilen aufteilen Kann? arrSchuhDaten = Array(Range("A6"), Range("F6"), Range("J6"), Range("A7"),...
  3. Wenn ein Wert ein einer Spalte, dann komplette Zeile im anderen Blatt untereinander einfügen.

    in Microsoft Excel Hilfe
    Wenn ein Wert ein einer Spalte, dann komplette Zeile im anderen Blatt untereinander einfügen.: Hallo, kann mir jemand bitte bei folgenderm Helfen. Habe etwas ähnliches gefunden was ich brauche, nur noch eine kleine Änderung ist notwendig. Aufgabe: Es wird geprüft, ob in Spalte Q ein Wert...
  4. Buchsatz mit Word: untere Zeile der Seiten immer auf der gleichen Höhe

    in Microsoft Word Hilfe
    Buchsatz mit Word: untere Zeile der Seiten immer auf der gleichen Höhe: Ich versuche gerade, mein Buch mit MS Office Professional PLUS möglichst professionell zu setzen. Das Vermeiden von einsamen Einzelzeilen am Beginn oder am Ende von Seiten verhindert Word...
  5. leere Zelle in Zeile finden

    in Microsoft Excel Hilfe
    leere Zelle in Zeile finden: Hallo Liebe Excel Profis, ich bin noch recht unbedarft was VBA angeht. Man kopiert und liest und bastelt und versucht alles zu verstehen. Aber irgendwann kommt man nicht weiter. Ich habe eine...
  6. VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen

    in Microsoft Word Hilfe
    VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen: Hallo zusammen, ich habe eine Word-Vorlage mit Platzhaltern, in die ich mit VBA Daten aus einer Excel-Datei einfüge (in eine Excel-Zeile schreibe ich alle Daten für ein neues Word-Dokument). So...
  7. Zeilen anders anordnen (oberste nach unten, usw.)

    in Microsoft Excel Hilfe
    Zeilen anders anordnen (oberste nach unten, usw.): Hallo zusammen, ich habe die Frage, ob es irgendeine Funktion oder eine andere Möglichkeit gibt, in einer Tabelle mit beispielsweise 30 Zeilen, diese folgendermaßen neu anzuordnen: Ehemals...
  8. nur bestimmte zeilen als csv exportieren

    in Microsoft Excel Hilfe
    nur bestimmte zeilen als csv exportieren: Hallo Leute, habe hier schon viele hilfreiche Antworten auf Probleme gefunden. Aber diesmal stehe leider an, da ich vermutlich vba benötige ich davon absolut keinen Tau habe... Daher mein erstes...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden