CSVfox
Get the job done.

%slice Beispiel mit 3 CSV -Tabellen

Verschiedene Varianten von %slice mit drei CSV -Tabellen

Die Quelltabellen

In diesem Beispiel werden drei Tabellen mit %merge zusammengeführt und daraus mithilfe von %slice eine neu strukturierte Tabelle erstellt.

Diese einwöchige Lebensmittelplantabelle in englischer Sprache wird als Stammtabelle verwendet:
meals-en.csv
WeekdayDateBreakfastLunchDinner
Monday2024-12-16MuesliColorful garden saladNoodle soup
Tuesday2024-12-17MuesliSandwichesTomato soup
Wednesday2024-12-18MuesliLamb's lettucePotato soup
Thursday2024-12-19Bread rollsColeslawChicken soup
Friday2024-12-202 rollsTomato saladFish soup

Außerdem gibt es einen ähnlichen Plan in spanischer Sprache:
meals-es.csv
Día laborableFechaDesayunoAlmuerzoCena
martes2024-12-17MuesliSándwichesSopa de tomate
miércoles2024-12-18MuesliCanónigosSopa de patatas
Jueves2024-12-19Bollos de panEnsalada de colSopa de pollo
Lunes2024-12-16MuesliEnsalada colorida de la huertaSopa de fideos
Viernes2024-12-202 panecillosEnsalada de tomateSopa de pescado

Und auch in deutscher Sprache:
meals-de.csv
WochentagDatumFrühstückMittagessenAbendessen
Sonntag15.12.2024KaffeePizzaAalsupp
Montag16.12.2024MüsliBunter GartensalatNudelsuppe
Dienstag17.12.2024MüsliSandwichesTomatensuppe
Mittwoch18.12.2024MüsliFeldsalatKartoffelsuppe
Donnerstag19.12.2024BrötchenKrautsalatHühnersuppe
Freitag20.12.20242 BrötchenTomatensalatFischsuppe

Zusammenführen der drei Tabellen unter Verwendung von %merge

Zunächst wollen wir einfach alle Tabellen in eine einzige Ausgabetabelle zusammenführen, mit dem jeweiligen Datumsfeld als Referenzfeld. Der Befehl %merge verkettet einfach alle Felder aller Tabellen, beginnend mit der Eingabetabelle.

Das englische und das spanische Datumsformat sind identisch, sodass das Datumsfeld der spanischen CSV -Tabelle direkt referenziert werden kann.
Bei der deutschen CSV -Tabelle muss das Datumsformat jedoch von YYYY-MM-DD in DD.MM.YYYY geändert werden. Wir verwenden hierfür eine Hilfsvariable namens [[german-date]], die mit einem regulären Ausdruck erstellt wird.
Außerdem sollten die redundanten Datumsfelder (Spanisch: [Fecha] und Deutsch: [Datum]) verworfen werden.

Eine %job -Datei für die Verarbeitung all dessen würde wie folgt aussehen

:
merge3.job
# the input file meals-de.csv # make the helper variable +regex[[german-date]]=[Date]/(\d\d\d\d)-(\d\d)-(\d\d)/\3.\2.\1 # merge the Spanish table %merge[Date]=[Fecha]@meals-es.csv.txt +delete[Fecha] # merge the German table %merge[[german-date]]=[Datum]@meals-de.csv.txt +delete[Datum] # the output file meals-merged.csv


Und diese Verarbeitung führt zu

meals-merged.csv
WeekdayDateBreakfastLunchDinnerDía laborableDesayunoAlmuerzoCenaWochentagFrühstückMittagessenAbendessen
Monday2024-12-16MuesliColorful garden saladNoodle soupLunesMuesliEnsalada colorida de la huertaSopa de fideosMontagMüsliBunter GartensalatNudelsuppe
Tuesday2024-12-17MuesliSandwichesTomato soupmartesMuesliSándwichesSopa de tomateDienstagMüsliSandwichesTomatensuppe
Wednesday2024-12-18MuesliLamb's lettucePotato soupmiércolesMuesliCanónigosSopa de patatasMittwochMüsliFeldsalatKartoffelsuppe
Thursday2024-12-19Bread rollsColeslawChicken soupJuevesBollos de panEnsalada de colSopa de polloDonnerstagBrötchenKrautsalatHühnersuppe
Friday2024-12-202 rollsTomato saladFish soupViernes2 panecillosEnsalada de tomateSopa de pescadoFreitag2 BrötchenTomatensalatFischsuppe


blabla.


 
Under construction, coming soon