Wie kann man in Excel oder Notepad++ alle Zeilen, die mit einer bestimmten Zeichenkombination beginnen, in die vorherige Zeile einfügen?

Wie kann man in Excel oder Notepad++ alle Zeilen, die mit einer bestimmten Zeichenkombination beginnen, in die vorherige Zeile einfügen?

Ich versuche folgendes zu importierenCSVDatensatz in Excel. Ich verwende den Textimport-Assistenten, um die richtigen Trennzeichen festzulegen. Bisher habe ich die Trennzeichen ";" und "," verwendet.

Hier ist dasErgebnisbisher. Der Datensatz scheint bis Zeile 493 in Ordnung zu sein. Ab diesem Zeitpunkt ändern sich die Daten von 2014 auf 2015. Irgendwie scheint sich das Format der Daten ab diesem Zeitpunkt etwas geändert zu haben, was zu einer CSV-Datei führt, in der die Spalten nicht mehr ausgerichtet sind.

Hier ist eine Momentaufnahme dessen, was in Notepad++ passiert:

Bildbeschreibung hier eingeben

Ich habe bereits zu diesem Problem gefragtHier, aber bisher hat diese Frage keine Lösung gebracht. Ich habe auch überlegt, den Rat inDasSuper User-Frage, aber ich glaube, ich kann sie in dieser Situation nicht anwenden, da die zu verwendende Zeichenkombination lautet: „",“, und Notepad++ scheint es \R(?="";")im Dokument nicht zu erkennen.

Ich überlege nun, dieses Problem zu lösen, indem ich Zeilen einfüge, die mit „",“-Zeichenkombination in der vorherigen Zeile.

Frage: Was muss ich tun, um diesen CSV-Datensatz so zu formatieren, dass alle Zeilen, die mit „",” werden in die jeweiligen vorherigen Zeilen eingefügt? (Entweder in Notepad++ oder Excel.)

Antwort1

Es scheint mir, dass dies eine Datenbereinigungsaufgabe für dieOriginaldateiaus dem Download-Link oben. Meine Antwort basiert auf dieser Datei! Diese ist nicht identisch mit dem Screenshot, der in deiner Frage hier gezeigt wird.

Neben dem abweichenden Format ab Zeile 493 gibt es auch einige Sonderzeichen wie lange Bindestriche und einige weitere Probleme. Bitte beachten Sie, dass im Datensatz auch Steuerzeichen (Tabulatoren) vorhanden sind, die entfernt werden sollten.

Bitte beachten Sie, dass es sich bei der CSV-Datei nicht um ein Windows-Dateiformat handelt:

  • \n= LF (Line Feed) → Wird als neues Zeilenzeichen in Unix/Mac OS X verwendet
  • \r\n= CR + LF → Wird in Windows als Zeilenumbruchzeichen verwendet

Bitte kopieren Sie Ihre Datei vor dem Start und probieren Sie diese schnelle und einfache Lösung mit etwas Handarbeit mit Notepad++ aus.

(1) Legen Sie ein Sonderzeichen für die spätere Verwendung fest:

  • Ctrl+H
  • Finde was:\"\n
  • Ersetzen mit:\"#\n
  • ÜBERPRÜFEN Umwickeln
  • ÜBERPRÜFEN Regulären Ausdruck
  • Replace all

(2) Ersetzen Sie alle LF

  • Finde was:\n
  • Ersetzen mit:LEAVE EMPTY
  • ÜBERPRÜFEN Umwickeln
  • ÜBERPRÜFEN Regulären Ausdruck
  • Replace all

(3) Saubere Zeilenvorschübe zurücksetzen

  • Finde was:\"#
  • Ersetzen mit:\"\n
  • ÜBERPRÜFEN Umwickeln
  • ÜBERPRÜFEN Regulären Ausdruck
  • Replace all

(4) Zeilensuche Suchen Sie nach dem, was Sie suchen, ^","und bearbeiten Sie manuell weniger als 20 Zeilen, indem Sie den Zeilenvorschub löschen.

Übrigens - mir ist aufgefallen, dass die Datensätze georeferenziert sind. Excel ist dafür wahrscheinlich nicht sehr gut geeignet (siehe QGIS-Screenshot unten).

Bildbeschreibung hier eingeben

verwandte Informationen