sokratonis
Goto Top

Programm zur Strukturierung od. Konvertierung

Hallo Kollegen,

es gibt doch sicherlich einen Programmierer unter Euch, der mir ein kleines Programm zur Automatisierung erstellen kann. Falls es, nicht wie gedacht, zu groß wird - können die Programmierer mir das ruhig mitteilen. face-smile

Ist-Zustand:
Ich habe eine Datei mit Inhalten in tabellarischer Form, d.h. zum Beispiel:
Artikelnummer,Preis,Artikelbeschreibung,Menge
21006,0722,MS Mobile Mouse 3000,14

Soll-Zustand:
Die Struktur soll nun angepasst werden und in einer neuen Datei ausgegeben werden, d.h. zum Beispiel bezogen auf das obere Beispiel dann:
Artikelnummer,Menge,Beschreibung,Preis
21006,14,MS Mobile Mouse,0722

Content-ID: 242635

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

Ausgedruckt am: 22.11.2024 um 06:11 Uhr

SarekHL
SarekHL 03.07.2014 um 21:13:33 Uhr
Goto Top
Was heißt in dem Fall "zum Beispiel"?

Ist es immer so, dass eine Zeile vier mit Komma getrennte Werte hat, die immer in der gleichen Reihenfolge umsortiert werden sollen? Oder muss das gewünschte Programm da flexibel sein? Wenn es flexibel sein muss, wie flexibel muss es sein? Was für Ausgangs- und Soll-Strukturen könnten denn vorkommen?

Und wo ist in Deinem Soll-Beispiel die 3000 aus der Artikel-Bezeichnung geblieben? Hast Du die aus Versehen weggelassen, oder soll die Löschung einer bestimmten Information auch Teil des Programms sein?


Fragen über Fragen ... aber notwendige Informationen ...
colinardo
Lösung colinardo 03.07.2014, aktualisiert am 04.07.2014 um 15:55:38 Uhr
Goto Top
Moin,
nichts leichter als das, mit einem Powershell-Schnippsel face-wink
Import-Csv "c:\dataIN.txt" -delimiter "," | select Artikelnummer,Menge,Beschreibung,Preis | Export-Csv "c:\dataOUT.txt" -delimiter "," -NoTypeInformation  
Falls die Anführungszeichen um die Werte herum in der Ausgabedatei nicht gewünscht sind, dann so:
(Import-Csv "c:\dataIN.txt" -delimiter "," | select Artikelnummer,Menge,Beschreibung,Preis | Convertto-CSV -delimiter "," -NoTypeinformation ) -replace '"','' | Set-Content "c:\dataOUT.txt"  
Grüße Uwe
sokraTonis
sokraTonis 04.07.2014 um 08:37:05 Uhr
Goto Top
Hallo,

SarekHL,
es ist immer so, dass eine Zeile durch Komma getrennte Werte hat. Es ist immer dieselbe Anzahl. Die Umsortierung soll immer in der gleichen Reihenfolge erfolgen.
Die 3000 habe ich tatsächlich vergessen. face-smile
SarekHL
SarekHL 04.07.2014 um 08:45:07 Uhr
Goto Top
Zitat von @sokraTonis:

es ist immer so, dass eine Zeile durch Komma getrennte Werte hat. Es ist immer dieselbe Anzahl. Die Umsortierung soll immer in der gleichen Reihenfolge erfolgen.

Dann hat Uwe Dir ja schon die Lösung geliefert ;)