diggga
Goto Top

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.

Content-Key: 149394

Url: https://administrator.de/contentid/149394

Printed on: April 26, 2024 at 23:04 o'clock

Member: bastla
bastla Aug 20, 2010 at 12:20:38 (UTC)
Goto Top
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
Member: diggga
diggga Aug 20, 2010 at 13:54:38 (UTC)
Goto Top
hallo bastla,

stimmt, haste recht handelt sich um eine excel-datei, nur will ich nicht die datei dafür öffen damit ich die zelle ändern will.
in der zelle I2-I977 sind immer unterschiedlich die bezeichnung e und v eingetragen und über ein makro würde ich gerne einfach nur das drüberlaufen lassen wollen und somit dann den wert e ersetzen durch 2% anderen und wenn nicht e sondern v vorhanden ist, den durch 3% ersetzen.

mfg
Member: bastla
bastla Aug 20, 2010 at 15:07:12 (UTC)
Goto Top
Hallo diggga!
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
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
Member: Biber
Biber Aug 20, 2010 at 16:19:54 (UTC)
Goto Top
Moin bastla,

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.
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
Member: diggga
diggga Aug 20, 2010 at 17:24:28 (UTC)
Goto Top
nabend bastla, biber,
vielen danke für die lösungen.
die .csv datei wird von einen firmenstandort zum andern verschickt und nachts soll die datei mit einer 2ten abgeglichen werden.
da leider noch unterschiedliche methoden für die erstellung der csv datei verwendet werden soll durch das ausführen nur diese spalte nachts automatisch die e und v werte ersetzen, damit es einheitliche datensätze sind.

mfg
diggga
Member: bastla
bastla Aug 20, 2010 at 17:30:34 (UTC)
Goto Top
Hallo diggga!
... da leider noch unterschiedliche methoden für die erstellung der csv datei verwendet werden
Umso mehr würde ich an der Quelle ansetzen, anstatt diesen Zustand noch länger künstlich am Leben zu erhalten ...

Grüße
bastla
Member: Biber
Biber Aug 20, 2010 at 18:11:18 (UTC)
Goto Top
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
Member: diggga
diggga Aug 21, 2010 at 13:58:08 (UTC)
Goto Top
moin,
jupp da habt ihr beide recht face-smile aber was will man machen mehr als dem kunden nen einheitliches system anbieten kann man auch nicht.
in naher zukunft wird er sich sowieso umstellen müssen aber das is solange sein prob :P

also schönes we noch und thX nochmals.