Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Csv datei auslesen und den vorhandenen spaltenwert ersetzen durch einen anderen, wenn vorhanden

Frage Entwicklung

Mitglied: diggga

diggga (Level 1) - Jetzt verbinden

20.08.2010 um 10:57 Uhr, 5148 Aufrufe, 8 Kommentare

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.
Mitglied: bastla
20.08.2010 um 14:20 Uhr
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
Bitte warten ..
Mitglied: diggga
20.08.2010 um 15:54 Uhr
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.

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: bastla
20.08.2010 um 17:07 Uhr
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:
01.
Sub Makro1() 
02.
Range("I2:I977").Replace What:="e", Replacement:="2% skonto", LookAt:=xlWhole 
03.
Range("I2:I977").Replace What:="v", Replacement:="3% skonto", LookAt:=xlWhole 
04.
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
Bitte warten ..
Mitglied: Biber
20.08.2010 um 18:19 Uhr
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
Bitte warten ..
Mitglied: diggga
20.08.2010 um 19:24 Uhr
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.

Mit freundlichen Grüßen
diggga
Bitte warten ..
Mitglied: bastla
20.08.2010 um 19:30 Uhr
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
Bitte warten ..
Mitglied: Biber
20.08.2010 um 20:11 Uhr
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
Bitte warten ..
Mitglied: diggga
21.08.2010 um 15:58 Uhr
moin,
jupp da habt ihr beide recht 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.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

VB for Applications
Bestimmte Daten aus eine CSV-Datei in eine Excel-Tabelle importieren (2)

Frage von MariaElena zum Thema VB for Applications ...

Batch & Shell
gelöst PS Werte CSV-Datei in AD Attribut (3)

Frage von lupolo zum Thema Batch & Shell ...

Batch & Shell
Mehrere AD Benutzer aus CSV Datei mit PowerShell erstellen (1)

Frage von windelterrorist zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (23)

Frage von patz223 zum Thema Windows Userverwaltung ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (19)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...