CSVfox
Get the job done.

%slice Eksempel med 3 CSV -tabeller

Forskellige varianter af %slice med tre CSV borde

Kildetabellerne

Dette eksempel sætter tre tabeller sammen med %merge, og bygger en ny struktureret tabel ud fra dem med %slice.

Denne tabel med en uges madplan på engelsk bruges som rodtabel:
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

Desuden er der en lignende plan på spansk:
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

Og også på tysk:
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

Sammenlægning af de tre tabeller ved hjælp af %merge

I første omgang vil vi bare flette alle tabellerne sammen til en enkelt outputtabel med det respektive datofelt som referencefelt. Kommandoen %merge sammenkæder simpelthen alle felter i alle tabeller, startende med input-tabellen.

Det engelske og det spanske datoformat er identiske, så der kan henvises direkte til datofeltet i den spanske CSV -tabel.
Men hvad angår den tyske CSV -tabel, skal datoformatet ændres fra YYYY-MM-DD til DD.MM.YYYY. Vi bruger en mellemliggende hjælpevariabel til dette, der hedder [[german-date]], og som er opbygget ved hjælp af et regulært udtryk.
Desuden skal de overflødige datofelter (spansk: [Fecha] og tysk: [Datum]) kasseres.

En %job -fil til behandling af alt dette vil se sådan ud:

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


Og denne behandling vil resultere i

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