[Shell] Kategorisieren von CSV-Objekten

z0ttel

Lt. Commander
Mitglied seit
09.04.2004
Beiträge
130
Renomée
0
Hallo Allerseits,

ich bräuchte mal wieder etwas Hilfe von den Scriptgurus hier. Grob möchte ich eine csv-Datei per Kommandozeilen-Script (Windows Shell bzw. Windows mit gnuWin32-Erweiterungen) um zusätzliche Informationen erweitern.

Die csv-Datei wird regelmäßig erweitert und sieht exemplarisch so aus:
Code:
Datum;Objekt;Anzahl
2009.01.01;Apfel;2
2009.01.02;Birne;1
2009.01.02;Hammer;5
2009.03.02;Gabel;20
2009.04.14;Birne;7
2009.08.01;Bier;1

Einzelnen Objekte können häufiger vorkommen - dann allerdings immer unter derselben Bezeichnung (z.B. Birne).

Nun möchte ich die Objekte per Script kategorisieren, so dass sich die Einträge bei der Weiterverarbeitung durch z.B. Excel, OO Calc, ... besser verarbeiten lassen.

Ich hatte mir überlegt, eine Filterdefinitionsdatei zu erzeugen ...
Code:
// Anmerkung: Objekt=Kategorie
Apfel=Obst
Birne=Obst
Hammer=Werkzeug
Gabel=Besteck
*=keine Kategorie

... die mir dann mittels dem Script folgende Datei generiert:
Code:
Datum;Objekt;Anzahl[B];Kategorie[/B]
2009.01.01;Apfel;2[B];Obst[/B]
2009.01.02;Birne;1[B];Obst[/B]
2009.01.02;Hammer;5[B];Werkzeug[/B]
2009.03.02;Gabel;20[B];Besteck[/B]
2009.04.14;Birne;7[B];Obst[/B]
2009.08.01;Bier;1[B];keine Kategorie[/B]


Einträge, für die noch keine Kategorie definiert wurde, sollten eine Default-Kategorie (z.B. "Keine Kategorie") bekommen.


Ich denke, das Prinzip ist klar - ich habe nur keine Ahnung, wie sich dieses Problem am elegantesten lösen lässt.
 
Zuletzt bearbeitet:
Keine Ahnung, was du mit dem Umweg über Skript willst, denn Excel und OO Calc können csv-Dateien auch so lesen. Mit den dortigen Mitteln wirst du sicher weiterkommen als mit Konsolen-Krampf-Skripten.

MfG Dalai
 
Für diese Aufgabe würde ich eine Interpretersprache (zB Python) oder gleich ein Kommandozeilenprogram programmieren. Mit den Windows vorinstallierten Kommandozeilen Tools wird das unabschätzbar kompliziert. Auf Linux seite gibts einen tollen Editor (sed). Dieser Editor ist sehr sehr sehr mächtig. Für Anfänger aber nur für kleinere Aufgaben geeignet.
Musst mal bei Google nach "sed csv" suchen. Unter anderem findest da diesen netten Beitrag working-with-csv-files-in-bash/.
Es könnte sein dass sed irgendwie sogar unter Windows lauffähig ist, hab ich jetzt aber nicht weiter nachgesehen.
 
Zurück
Oben Unten