CSVfox
Gets the job done.

%slice

Teilen Sie Datenfelder einer CSV -Datenzeile in separate Zeilen auf.

Verwendung

Diese Funktion kann verwendet werden, um Datenfelder aus einer einzelnen CSV -Zeile in mehrere separate Zeilen für die Ausgabe umzuwandeln.
Je nach slice -Modus werden die neu erstellten Zeilen auf unterschiedliche Weise erstellt.

Dieser Befehl entfaltet jedoch seine volle Leistungsfähigkeit zusammen mit dem Befehl "Zusammenführen". Daten aus verschiedenen Dateien können je nach Bedarf des Benutzers zu nützlichen Datenzeilen geformt werden.
Dieser Befehl kann nur zur Ausgabesteuerung verwendet werden, nicht zum Lesen einer CSV -Datei.

Slice/Single: Dies ist der Standardmodus von %slice. Das erste Feld oder die ersten Felder bleiben in jeder generierten Zeile gleich, gefolgt von zwei neuen Feldern: der jeweiligen Spaltenüberschrift und dem Inhalt.
Jedes Feld nach dem Startfeld erhält also eine eigene Zeile. Dies gilt auch für alle zusammengeführten Felder.

Slice/Distinct: Das erste Feld oder die ersten Felder bleiben in jeder generierten Zeile gleich, gefolgt von zwei neuen Feldern: der jeweiligen Spaltenüberschrift und dem Inhalt.
Jedes Feld nach dem Startfeld erhält also eine eigene Zeile. Alle zusammengeführten Felder vervollständigen die Zeile mit ergänzenden Daten.

Slice/Compact: Das erste Feld oder die ersten Felder bleiben in jeder generierten Zeile gleich, gefolgt von einem neuen Feld: dem jeweiligen Spalteninhalt.
Die Kopfzeile wird mit den Spaltennamen jeder %merge -Datei erweitert, und jede Zeile enthält ihren Inhalt.
Jedes Feld nach dem Startfeld erhält also eine eigene Zeile. Alle zusammengeführten Felder vervollständigen die Zeile mit ergänzenden Daten.

Slice/Rows: Für jede passende Zeile in der Zusammenführungsdatei wird eine neue Zeile generiert.
Die Kopfzeile wird um die Spaltennamen der %merge -Datei erweitert, und jede Zeile enthält deren Inhalt.

%slice[startfield] %slice[startfield]=[titlecolumn_name],[valuecolumn_name]
%slice
Ab der zweiten Spalte werden alle nachfolgenden Felder in separate Zeilen aufgeteilt.
Jede Ausgabezeile besteht aus drei Feldern:
Feld [1], der jeweilige Spaltenname in einer separaten Spalte und der jeweilige Feldinhalt in einer separaten Spalte.
%slice[4]
Ab 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 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 mit dem Namen [NewColumnTitle] und dem Feldinhalt in einer separaten Spalte mit dem Namen [NewValueTitle].

Besonderheit

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

Diese Spalten sollten nach Bedarf umbenannt werden.
Verwenden Sie dazu beispielsweise: +rename[COLUMN_TITLE]="Mein neuer Titel" +rename[COLUMN_VALUE]="Mein neuer Wert" , um die Bedeutung der Spalten der Ausgabedatei anzupassen.

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
ergibt sich
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 halber und zur besseren Lesbarkeit auch die Überschriften umbenennen.
Durch Verwendung der folgenden Befehle: +rename[COLUMN_TITLE] = Daytime +rename[COLUMN_VALUE] = Meal bedeutungsvolle Spaltenüberschriften werden hinzugefügt.

Spezielle Modi

Es gibt einige Besonderheiten bei der Verwendung von %slice zusammen mit %merge.
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/single[Offset]: teilt alle nachfolgenden Spalten, beginnend mit [Offset],in eigene Zeilenauf. Gemeinsame erste Felder vor [Offset], gefolgt von zwei neuen Feldern: dem jeweiligen Spaltennamen und dem Feldinhalt.
mit %merge: für jede Zusammenführungsdatei werden alle Spalten entsprechend behandelt.

%slice/distinct[Offset] ab [Offset] teilt alle Spalten in eigene Zeilen auf (%slice ist dasselbe wie %slice[1] ist dasselbe wie %slicedistinct[1])

 mit %merge: für jede Zusammenführungsdatei,

ab Offset

, für jede Zusammenführungsdatei zwei Spalten hinzufügen, mit Feldname und Feldwert
 mit zwei Zusammenführungsdateien: muss einen festen Start-Offset in jeder zusammengeführten Datei angeben: @slice/distinct[InputOffset]@[MergeOffset],[MergeOffset]
Dies dient zum Hinzufügen beliebiger Spalten aus den zusammengeführten Dateien.

%slice/compact[Feldname] starting past [Feldname ] teilt alle Spalten in eigene Zeilen auf
(bei Verwendung ohne %merge ist dies identisch mit %slice[Feldname] bzw. %slice/distinct[Feldname])
Dies funktioniert nur, wenn alle Spalten Spaltenüberschriften haben und wenn die zusammengeführten Dateien dieselben 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 zusammengeführten Dateien: Es sind keine festen Offsets erforderlich, da der Offset von [Feldname] jedes Mal neu ausgewählt wird.
Dies ist für die Kombination von Spalten aus den zusammengeführten Dateien mit demselben Namen vorgesehen.
 
Under construction, coming soon