CSVfox
Get the job done.
 Ελληνικά

%slice Παράδειγμα με 3 πίνακες CSV

Διάφορες γεύσεις του %slice με τρία τραπέζια CSV

Οι πηγαίοι πίνακες

Αυτό το παράδειγμα συγκεντρώνει τρεις πίνακες με το %merge, και δημιουργεί από αυτούς έναν νέο δομημένο πίνακα χρησιμοποιώντας το %slice.

Αυτός ο πίνακας προγράμματος διατροφής μιας εβδομάδας στην αγγλική γλώσσα χρησιμοποιείται ως πίνακας ρίζας:
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

Επιπλέον, υπάρχει ένα παρόμοιο σχέδιο στην ισπανική γλώσσα:
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

Και επίσης στη γερμανική γλώσσα:
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

Συγχώνευση των τριών πινάκων χρησιμοποιώντας %merge

Αρχικά, θέλουμε απλώς να συγχωνεύσουμε όλους τους πίνακες σε έναν ενιαίο πίνακα εξόδου, με πεδίο αναφοράς το αντίστοιχο πεδίο ημερομηνίας. Η εντολή %merge απλώς συνενώνει όλα τα πεδία όλων των πινάκων, ξεκινώντας από τον πίνακα εισόδου.

Η αγγλική και η ισπανική μορφή ημερομηνίας είναι πανομοιότυπες, οπότε το πεδίο ημερομηνίας του ισπανικού πίνακα CSV μπορεί να αναφερθεί απευθείας.
Όσον αφορά όμως τον γερμανικό πίνακα CSV, η μορφή ημερομηνίας πρέπει να αλλάξει από YYYY-MM-DD σε DD.MM.YYYY. Χρησιμοποιούμε μια ενδιάμεση βοηθητική μεταβλητή για το σκοπό αυτό, με όνομα [[dt-ger]], η οποία κατασκευάζεται με τη χρήση μιας κανονικής έκφρασης.
Επιπλέον, τα περιττά πεδία ημερομηνίας (ισπανικά: [Fecha] και γερμανικά: [Datum]) πρέπει να απορριφθούν.

Ένα αρχείο %job για την επεξεργασία όλων αυτών θα έμοιαζε ως εξής:

merge3.job
# the input file meals-de.csv # make the helper variable +regex[[dt-ger]]=[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[[dt-ger]]=[Datum]@meals-de.csv.txt +delete[Datum] # the output file meals-merged.csv


Και αυτή η επεξεργασία θα έχει ως αποτέλεσμα

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