Csv datei auslesen und den vorhandenen spaltenwert ersetzen durch einen anderen, wenn vorhanden
moin alle zusammen,
ich habe folgendes problem:
meine aufgabenstellung sieht so aus:
ich habe eine .csv datei, aus der ich die spalte/zeile "I2-I977" auslesen will und wenn der wert "e" vorhanden ist durch "2% skonto" ersetzen und wenn nicht den wert "v" durch "3% skonto" ersetzen.
ich hoffe es kann mir jemand helfen.
ich habe folgendes problem:
meine aufgabenstellung sieht so aus:
ich habe eine .csv datei, aus der ich die spalte/zeile "I2-I977" auslesen will und wenn der wert "e" vorhanden ist durch "2% skonto" ersetzen und wenn nicht den wert "v" durch "3% skonto" ersetzen.
ich hoffe es kann mir jemand helfen.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 149394
Url: https://administrator.de/forum/csv-datei-auslesen-und-den-vorhandenen-spaltenwert-ersetzen-durch-einen-anderen-wenn-vorhanden-149394.html
Ausgedruckt am: 22.04.2025 um 08:04 Uhr
8 Kommentare
Neuester Kommentar
Hallo diggga!
Ausgehend von der Überlegung, dass CSV-Dateien eher selten Spalten und Zeilen der Art "I2-I977" aufweisen, nehme ich an, dass es sich eigentlich um eine Excel-Datei handelt; wenn dem so sein sollte, könntest Du die entsprechenden Zellen markieren und Strg+h verwenden (ggf auch als - aufgezeichnetes - Makro) ...
Grüße
bastla
Ausgehend von der Überlegung, dass CSV-Dateien eher selten Spalten und Zeilen der Art "I2-I977" aufweisen, nehme ich an, dass es sich eigentlich um eine Excel-Datei handelt; wenn dem so sein sollte, könntest Du die entsprechenden Zellen markieren und Strg+h verwenden (ggf auch als - aufgezeichnetes - Makro) ...
Grüße
bastla
Hallo diggga!
Und: Wo kommen die Daten überhaupt her, und lässt sich nicht bereits dort dafür sorgen, dass die richtigen Inhalte eingetragen sind?
Grüße
bastla
nur will ich nicht die datei dafür öffen damit ich die zelle ändern will.
Nur interessehalber: Warum nicht? Ein entsprechendes Makro ist schnell aufgezeichnet und sieht, etwas hybsch gemacht, zB so aus:Sub Makro1()
Range("I2:I977").Replace What:="e", Replacement:="2% skonto", LookAt:=xlWhole
Range("I2:I977").Replace What:="v", Replacement:="3% skonto", LookAt:=xlWhole
End Sub
Grüße
bastla
Moin bastla,
Die verbale Langtext-Beschreibung ist doch nur eine Formatierungsangelegenheit.
Somit würde ich doch mindestens den Weg prüfen:die auch als prüfbaren Wert zu übernehmen.
Falls nur die Werte "v" und "e" erlaubt sind (=eines von beiden muss angeben sein),
dann können sie auch als WAHR und FALSCH behandelt werden.
Und es reicht, eine (Zahl) Null zu übernehmen wenn der Fall "v" nicht gegeben ist und eine 1, wenn der Fall "v" gegeben ist.
Dann habe ich bei ein paar tausend Zeilen schon ein paar Byte gespart, kann jede 0 oder eins über "Benutzerdefiniertes Format" als ""3% Skonto";"kein Skonto";"2% Skonto" formatieren (und somit anzeigen lassen).
Wenn ich gedanklich so weit bin, dann kann ich aber auch sagen: Ja Hey! Dann brauch ich die Manipulation der Importdaten doch gar nicht zu machen - ich lasse jedes "v" ein "v" bleiben, jedes "e" ein "e" und prüfe in einer neuen Spalte, ob der Wert ="v" ist.
Wenn ja--> "3% Skonto" , wenn nein (oder auch explizit wenn wert ="e" dann "2% Skonto" anzeigen.
Und die eigentliche Spalte mit "v" oder "e" blende ich aus.
Nichts gegen Manipu^H^H^H Nachbearbeitung von Importdateien - aber wenn es nur um Anzeige-Formatierung geht, dann sehe ich selten auf Anhieb die Notwendigkeit.
Grüße
Biber
Zitat von @bastla:
... und lässt sich nicht bereits dort dafür sorgen, dass die richtigen Inhalte eingetragen sind?
Ich sach mal so: ich würde mich mal auf den Standpunkt stellen, dass die beiden Werte "e" und "v" schon in der Tendenz die "richtigeren Inhalte" sind.... und lässt sich nicht bereits dort dafür sorgen, dass die richtigen Inhalte eingetragen sind?
Die verbale Langtext-Beschreibung ist doch nur eine Formatierungsangelegenheit.
Somit würde ich doch mindestens den Weg prüfen:die auch als prüfbaren Wert zu übernehmen.
Falls nur die Werte "v" und "e" erlaubt sind (=eines von beiden muss angeben sein),
dann können sie auch als WAHR und FALSCH behandelt werden.
Und es reicht, eine (Zahl) Null zu übernehmen wenn der Fall "v" nicht gegeben ist und eine 1, wenn der Fall "v" gegeben ist.
Dann habe ich bei ein paar tausend Zeilen schon ein paar Byte gespart, kann jede 0 oder eins über "Benutzerdefiniertes Format" als ""3% Skonto";"kein Skonto";"2% Skonto" formatieren (und somit anzeigen lassen).
Wenn ich gedanklich so weit bin, dann kann ich aber auch sagen: Ja Hey! Dann brauch ich die Manipulation der Importdaten doch gar nicht zu machen - ich lasse jedes "v" ein "v" bleiben, jedes "e" ein "e" und prüfe in einer neuen Spalte, ob der Wert ="v" ist.
Wenn ja--> "3% Skonto" , wenn nein (oder auch explizit wenn wert ="e" dann "2% Skonto" anzeigen.
Und die eigentliche Spalte mit "v" oder "e" blende ich aus.
Nichts gegen Manipu^H^H^H Nachbearbeitung von Importdateien - aber wenn es nur um Anzeige-Formatierung geht, dann sehe ich selten auf Anhieb die Notwendigkeit.
Grüße
Biber
Moin diggga,
hätte ich nicht diplomatischer ausdrücken können als bastla.
Ihr steckt unnötige Arbeit in die Symptom-Bereinigung - in der Zeit hättet ihr auch eine Mail an den Datenerzeuger/-liefanten schreiben können.
Dann wäre vielleicht montag abend schon alles gut.
So müsst ihr nochmal eure Prozesse anpassen, sobald er die Daten "einheitlich" geliefert werden.
Grüße
Biber
hätte ich nicht diplomatischer ausdrücken können als bastla.
Ihr steckt unnötige Arbeit in die Symptom-Bereinigung - in der Zeit hättet ihr auch eine Mail an den Datenerzeuger/-liefanten schreiben können.
Dann wäre vielleicht montag abend schon alles gut.
So müsst ihr nochmal eure Prozesse anpassen, sobald er die Daten "einheitlich" geliefert werden.
Grüße
Biber