CSVfox
Get the job done.

%slice

Datenfelder einer CSV Datenzeile in separate Zeilen aufteilen

Verwendung

Mit dieser Funktion können Sie Datenfelder aus einer einzelnen CSV Zeile in mehrere separate Zeilen für die Ausgabe umbrechen. Das erste Feld oder die ersten Felder bleiben in jeder erzeugten Zeile gleich, gefolgt von zwei neuen Feldern: die jeweilige Spaltenüberschrift und der Inhalt.
Dieser Befehl kann nur zur Ausgabesteuerung verwendet werden, nicht zum Lesen einer CSV Datei.

%slice[startfield] %slice[startfield]=[titlecolumn_name],[valuecolumn_name]
%slice
Beginnend mit der zweiten Spalte werden alle nachfolgenden Felder in separate Zeilen aufgeteilt.
Jede Ausgabezeile besteht aus drei Feldern:
Feld[1], dem jeweiligen Spaltennamen in einer separaten Spalte und dem jeweiligen Feldinhalt in einer separaten Spalte.
%slice[4]
Beginnend mit der vierten Spalte (4) werden die nachfolgenden Felder in einzelne Zeilen unterteilt.
Jede Ausgabezeile besteht aus den vorangehenden Feldern [1]-[3], dem Spaltennamen in einer separaten Spalte und dem Feldinhalt in einer separaten Spalte.
%slice["Field Name"]
Beginnend mit der Spalte Field Name werden die nachfolgenden Felder in einzelne Zeilen unterteilt.
Jede Ausgabezeile besteht aus allen Feldern vor der Spalte Field Name, dem Spaltennamen in einer separaten Spalte und dem Feldinhalt in einer separaten Spalte.
%slice["Field Name"]=[NewColumnTitle],[NewValueTitle]
Beginnend mit der Spalte Field Name sind die nachfolgenden Felder in einzelne Zeilen unterteilt.
Jede Ausgabezeile besteht aus allen Feldern vor der Spalte Field Name, dem Spaltennamen in einer separaten Spalte namens [NewColumnTitle] und dem Feldinhalt in einer separaten Spalte namens [NewValueTitle].

Besonderes Merkmal

Da die neue Tabelle einige zusätzliche Spalten für jeden "aufgeschnittenen" Wert haben wird, gibt es eine Reihe von neuen generischen Spaltentiteln COLUMN_TITLE und COLUMN_VALUE während der Ausgabe erstellt.
Wenn der Befehl %merge verwendet wird, gibt es sogar neue Spalten für jede Spalte jeder zusammengeführten Datei. Siehe auch %merge.

Diese Spalten sollten nach Belieben umbenannt werden.
Verwenden Sie dazu zum Beispiel: +rename[COLUMN_TITLE]="Mein neuer Titel" +rename[COLUMN_VALUE]="Mein neuer Wert" um der Bedeutung der Spalten in der Ausgabedatei zu entsprechen.

Beispiel

Dies ist ein tabellarischer Wochenplan als csv:

WeekdayBreakfastLunchDinner
MondayMuesliColorful garden saladNoodle soup
TuesdayMuesliSandwichesTomato soup
WednesdayMuesliLamb's lettucePotato soup
ThursdayBread rollsColeslawChicken soup
Friday2 rollsTomato saladFish soup
und nach der Anwendung
%slice
wird dies zu
WeekdayCOLUMN_TITLECOLUMN_VALUE
MondayBreakfastMuesli
MondayLunchColorful garden salad
MondayDinnerNoodle soup
TuesdayBreakfastMuesli
TuesdayLunchSandwiches
TuesdayDinnerTomato soup
WednesdayBreakfastMuesli
WednesdayLunchLamb's lettuce
WednesdayDinnerPotato soup
ThursdayBreakfastBread roll
ThursdayLunchcoleslaw
ThursdayDinnerChicken soup
FridayBreakfast2 rolls
FridayLunchtomato salad
FridayDinnerfish soup
Hier sollte man der Vollständigkeit und besseren Lesbarkeit halber auch die Titel umbenennen.
Verwenden Sie dazu die folgenden Befehle: +rename[COLUMN_TITLE]=Tageszeit +rename[COLUMN_VALUE]=Mahlzeitwerden sinnvolle Spaltenüberschriften hinzugefügt.

Besondere Modi

Es gibt einige Besonderheiten, wenn Sie %slice zusammen mit %merge verwenden.
In diesem Fall wird für jede zusammengeführte Datei eine Spalte [Feldname] (Feldwert, %slicecompact) oder sogar zwei Spalten (Feldname und Wert, %slicedistinct) zu jeder Datenzeile hinzugefügt.
=> Eigene Seiten mit Beispielen!

%slice/distinct[Offset] beginnend nach [Offset] teilt alle Spalten in eigene Zeilen auf
(%slice ist das gleiche wie %slice[1] ist das gleiche wie %slicedistinct[1])
mit %merge: für jede Mergefile, beginnend mit Offset, für jede Mergefile zwei Spalten hinzufügen, mit Feldname und Feldwert
mit zwei MergeDateien: Sie müssen einen festen Start-Offset in jeder Merge-Datei angeben: @slice/distinct[InputOffset]@[MergeOffset],[MergeOffset]
Dies ermöglicht das Hinzufügen beliebiger Spalten aus der/den zusammengeführten Datei(en).

%slice/compact[Feldname] beginnt nach [Feldname] und teilt alle Spalten in eigene Zeilen auf
(wenn ohne %merge verwendet, ist dies identisch mit %slice[Feldname] bzw. %slice/distinct[Feldname])
Dies funktioniert nur, wenn alle Spalten Spaltenüberschriften haben und wenn die Merge-Dateien die gleichen Spaltennamen enthalten!
Anwendungsbeispiel: Attribute in mehreren Sprachen

mit %merge: fügen Sie für jede zusammengeführte Datei eine Spalte [Feldname] mit dem Feldwert von [Feldname] hinzu
mit zwei Merge-Dateien: keine festen Offsets notwendig, da der Offset von [Feldname] jedes Mal neu ausgewählt wird
Dies dient dazu, Spalten aus der/den zusammengeführten Datei(en) mit demselben Namen zu kombinieren.
Under construction, coming soon