Office - Word, Excel und Co. 9.751 Themen, 41.564 Beiträge

.csv Datei - Zeile mit mehreren Spalten -> Leer = Nachrücken?

user_320476 / 11 Antworten / Baumansicht Nickles

Guten Tag,

habe eine .csv Datei mit Adressdaten. Schema ungefähr wie folgt:

"Name"; "Vorname"; "PLZ1"; "Adresse1"; "Telefon1"; "PLZ2"; "Adresse2"; "Telefon2"

Die Datei soll nun in eine Applikation importiert werden. Allerdings sind in dieser Zielapplikation nur ein Eintrag für Adresse, PLZ und Telefon erwünscht.

Die .csv Datei hat ca. 5000 Einträge wobei bei manchen PLZ1, Adresse1 und Telefon1 leer sind, allerdings PLZ2, Adresse2 und Telefon2 vorhanden.

Frage:

Gibt es einen Befehl/ eine Möglichkeit diese Felder so zu konsolidieren dass
wenn PLZ,Adresse1,Telefon1 keine Daten enthalten, die Daten von den Feldern PLZ2, Adresse2 und Telefon2 nachgerückt werden.

Ziel ist, dass für jede Zeile zumindest ein Eintrag zu PLZ, Adresse,Telefon vorhanden ist.


Vielen Dank!

bei Antwort benachrichtigen
Andreas42 user_320476 „.csv Datei - Zeile mit mehreren Spalten -> Leer = Nachrücken?“
Optionen

Hi!

Ob die Anwendung evtl. flexible Importmöglichkeiten bietet, kann ich dir natürlich nicht sagen. dazu müsstest du uns den Namen der Zielanwendung schreiben. Zwinkernd

Generell bietet sich da unabhängig davon an die CSV-Datei in Excel oder OpenOffice Calc zu importieren. Dort kann man die Daten entsprechend kopieren dann die ungewünschten Spalten entfernen und die resultierende Tabelle erneut als CSV-Datei speichern.

Bis dann
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
TMF Andreas42 „Hi! Ob die Anwendung evtl. flexible Importmöglichkeiten ...“
Optionen

Hallo, und vielen Dank für die rasche Rückmeldung!

Natürlich geht es nicht um die Zielanwendung. Habe das leider ziemlich Uneindeutig beschrieben.

Ziel ist es via excel, openoffice oder dem Editor die Formatierung der Ursprungsdatei so hinzubekommen wie beschrieben.

Vielen Dank nochmal!

bei Antwort benachrichtigen
Borlander Andreas42 „Hi! Ob die Anwendung evtl. flexible Importmöglichkeiten ...“
Optionen
Dort kann man die Daten entsprechend kopieren dann die ungewünschten Spalten entfernen und die resultierende Tabelle erneut als CSV-Datei speichern.

Einfach entsprechend neue Spalten hinten anfügen und diese dann mit Hilfe der WENN-Tabellenfunktion.

Beispiel: A="Name"; B="Vorname"; C="PLZ1"; D="Adresse1"; E="Telefon1"; F="PLZ2"; G="Adresse2"; H="Telefon2"

Neue Spalten ergänzen (die kannst Du dann anschließend importieren):
I="PLZ_Neu"; J="Adresse_Neu"; K="Telefon_Neu"

I2=WENN(C2<>"";C2;F2)
Die anderen Spalten analog…

Gruß
Borlander

bei Antwort benachrichtigen
TMF Borlander „Einfach entsprechend neue Spalten hinten anfügen und diese ...“
Optionen

Wow!

Vielen, vielen Dank für die schnellen Antworten- klingt logisch und werde ich gleich versuchen!

bei Antwort benachrichtigen
gelöscht_265507 TMF „Wow! Vielen, vielen Dank für die schnellen Antworten- ...“
Optionen

Wenn es nicht funktioniert, dann machst du es einfacher.

1. Öffne die CSV mit einem Texteditor und dann ersetzt du alle aufeinander folgende Trennzeichen durch eines. >> Speichern.

2. Mit Excel öffnen, fertig.

Habe ich aber nicht ausprobiert.

bei Antwort benachrichtigen
TMF gelöscht_265507 „Wenn es nicht funktioniert, dann machst du es einfacher. 1. ...“
Optionen

Oh mann!

Das ist ja noch simpler! Könnt man auch selber draufkommen.

Vielen Dank!!

bei Antwort benachrichtigen
gelöscht_265507 TMF „Oh mann! Das ist ja noch simpler! Könnt man auch selber ...“
Optionen

Möglicherweise musst du den Prozess mehrfach durchführen.

Hast du nämlich drei aufeinander folgende Trenner, dann hast du nachher zwei.

Das heißt, aus zwei nebeneinander liegende Leerzellen wird dann noch eine.

bei Antwort benachrichtigen
Borlander TMF „Wow! Vielen, vielen Dank für die schnellen Antworten- ...“
Optionen

Noch ein Heinweis: Die Lösung funktioniert nur wenn garantiert ist, dass immer alle 3 Spalten gleichzeitig leer sind. Sonst hast Du am Ende womöglich Datensalat.

Wäre daher also vermutlich sinnvoller zuerst einmal ein einer Spalte zu prüfen ob alle 3 Felder (oder mindestens 1 - wenn immer vollständige Adressen gefordert sind, je nach gewünschtem Verhalten können noch weitere Feinheiten notwendig werden) leer sind und dann auf dieser Basis weiterarbeiten.

bei Antwort benachrichtigen
Andreas42 Borlander „Einfach entsprechend neue Spalten hinten anfügen und diese ...“
Optionen

Hi!

Interessanterweise bietet LibreOffice auch bei manuellem markieren und kopieren bereits eine Funktion, um nur belegte Felder zu übertragen.

Ich hatte zum Testen einfach zwei Spalten mit werten gefüllt. Einige Felder blieben in Spalte 1 leer und waren in Spalte 2 belegt.

Nun markiert man die Felder der einen Spalte und positioniert den Cursor in der anderen. Nun muss man im Menü "Bearbeiten" die Funktion "Inhalte einfügen..." wählen.
Es öffnet sich ein Dialog in dem man die Option "Leerzeilen überspringen" anhaken. Damit kann man dann Daten quasi ineinander kopieren.

Klar, dabei würden Daten überschrieben, wenn in beiden Spalten in der gleichen Zeile Daten stehen, aber das könnte man durch eine vorherige Sortierung lösen.

Ich kannte die Option auch nicht und war eher verblüfft, dass das so einfach geht.

Bis dann
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
TMF Andreas42 „Hi! Interessanterweise bietet LibreOffice auch bei manuellem ...“
Optionen

Wow! das klingt einfach und genial! - werd mir libreoffice gleich mal ansehen.

Vielen Dank!

 

bei Antwort benachrichtigen
Platipus user_320476 „.csv Datei - Zeile mit mehreren Spalten -> Leer = Nachrücken?“
Optionen
Dieser Beitrag ist gelöscht!
Werbung ist in den Nickles-Foren unerwünscht und wird deshalb entfernt.