Μετατροπέας CSV -> YAML
Ποιος ο λόγος (να μετατρέψετε) Δεδομένα από CSV προς YAML;
Το CSV (Comma-Separated Values) αποτελεί το De-Facto πρότυπο (Universal) για όλα τα προγράμματα φύλλων-επεξεργασίας (Excel, Sheets, DataTables). Η YAML όμως είναι το απαραίτητο, Δομικά (Standard) Αποθήκευσης ρυθμίσεων στην Κοινότητα των DevOps, Testing, Fixtures. Αντί να πληκτρολογείτε με 'το Χέρι' χειρονακτικά 1-1 τα Keys της Yaml... Για να Μεταφέρετε δεδομένα σε Kubernetes, Playbooks(Ansible) ή Database Seaders ... Ο μετατροπέας τα φτιάχνει στο δευτερόλεπτο!!
Άμεση RealTime Μετάφραση Συντάξεως
Καθώς πληκτρολογείτε (ή επικολάτε) CSV Data — Ο Πίνακας δεξιά (Yaml) παράγεται αυτοστιγμεί.. χωρίς το πάτημα κανενός κουμπιού!
Αυτόματη - Κωδικοποίηση Header/Κλειδιών Yaml
Οι Επικεφαλίδες (H 1η Γραμμή του CSV) γίνονται ΜΑΓΙΚΑ τα Κλειδιά (Keys/Properties-Names) των Αντικειμένων (Array Of Objects) στην YAML.
Έξυπνη Μηχανική (Τύπων Δεδομένων) / Auto-Types
Ενώ στο CSV όλα είναι.. Κείμενο (Strings) ! Η Μηχανή μας αναγνωρίζει ποιο είναι Αληθινό-Νούμερο (Numbers) Και ποιο 'True/False' (Bool), Γράφοντας τα σωστά (Χωρίς Εισαγωγικά).
Μαζική μετατροπή Δεδομένων.. (Μεσα σε 3 Βήματα)!..
Επικολλήστε τo Κομμάτι/Πίνακα του CSV
Αντιγράψτε απο το Excel-File σας τα κελιά. ΠΡΟΣΟΧΗ: Η Πρώτη(1η) γραμμή να αποτελεί πάντα τον Τίτλο (Header) -ώστε να γνωρίζουμε τα Keys.
On-The-Fly / Άμεση Ανίχνευση
Ο Μετατροπέας (Array-Parser) Σπάει το CSV String, Αφαιρεί/Τιθασεύει τα Quotes (Εισαγωγικά) και σχηματοποιεί Ύπέροχο YAML List-Formatting (με Παυλίτσες / - ) .
Αντιγραφή - (Deployment / Config)
Αντιγράψτε την σκαλωσιά/Λίστα .YAML! Ειναι Αμέσως έτοιμη για Τα Test-Suites (Jest/PHPunit) ή Το Configuration-Server σας.
Κλασικές - Και Δημοφιλείς Χρήσεις
Test-Fixtures / Testing Data (E2E Tests)
Μετατρέψτε Τεράστιους Κατάλογους Ψεύτικων / Δοκιμαστικών Δεδομένων (Usernames/Emails/Passwords) για Μελλοντικά (Automated Tests- PHPUnit, RSpec).
Ρυθμίσεις Περιβάλλοντος (Kubernetes/Ansible)
Μοιράστε παραμέτρους-ελέγχου... και Environment Variables Μαζικά (Μέσω Yaml Dicts) σε (Pipelines & CI/CD tools).
Τεχνητή 'Βλάστηση' Βάσης (Databases Seeds / Seeders)
Γεμίστε Μια Άδεια - Φρεσκοστημένη Βάση Δεδομένων (SQL/Nosql) , 'Ταίζοντας' το Node / Python Backend Σας (με αρχεία seed.yml) , παρμένα απο Λογιστήριο/Excel Files.
Mocking Rest API (Μιμητές - Data Mocks)
Φορτώστε Mock-Databases (Όπως JSON Server , η WireMock) Γρήγορα και εύκολα, δημιουργώντας Responses Με βαση τα Yaml/Json files!
Μαγεία.. Δεδομένων: Προφυλάξεις (Για Καθαρά CSV->Yml)
✓ Το (Header) ΕΙΝΑΙ Ο ΑΡΧΗΓΟΣ ΤΗΣ YAML!
Τα Ονόματα της 1ης Γραμμής (Επικεφαλίδες Μνήμης) Στο CSV.. Γίνονται οι Λέξεις-Κλειδιά (Property Keys). Μην Βάζετε Κενά ! (Oνομάστε τις: (first_name , age_num , client_status) -> σε Snake_case για καλύτερη Compatibility).
✓ Προσοχή... στα Εσωτερικά (Κόμματα) και Τα Εισαγωγικά (`"`)...
Εαν Η Περιγραφή-Κέιμενο ενός πεδίου.. ΠΕΡΙΕΧΕΙ 'το σύμβολο , ' (comma) στο κείμενο.. ΤΟ ΠΕΔΙΟ ΠΡΕΠΕΙ ΟΠΩΣΔΗΠΟΤΕ - Να αγκαλιαστεί με " Διπλά Εισαγωγικά " Μέσα στο C.s.V.! Αλλιώς Η μηχανή θα νομίζει οτι ειναι 'ΝΕΑ-ΣΤΗΛΗ'.
✓ Characters (UTF-8 Encoding Only!) .. Για να μη χάνετε τη Μπάλα..
Όταν σώζετε απο Excel / Spreadsheets : Παραδοσιακά σώζουν σε Latin (1252/Windows). Όταν σώζετε.. κάντε Export As -> CSV (UTF-8) !! Ειδικά αν ο πίνακας περιέχει Ελληνικά/Unicode/Emojis!
✓ Τα Yaml... Ειναι Υπερ-ευαίσθητα (Space Indents).
Στην YAML oι (Εσοχές-Spaces/Indents)... Δημιουργούν την Δομή, ΔΕΝ είναι διακοσμητικά. Το εργαλείο μας Στοιχίζει την 'Yml' Απόλυτα Σωστά. Εάν εσείς (χέροκίνητα) βάλετε ενα space παραπάνω... Όλο Το yaml ΔΕΝ θα δουλεύει!
❓ Συνήθεις Απορίες Περί CSV / YAML Parser
Το Πρόγραμμα σας... Πιάνει τον Κανόνα των Εισαγωγικών (Excel Escaping Rules);
Ναι Βεβαίως — Ο Parser μας Ενστερνίζεται απόλυτα τις Προδιαγραφές (RFC 4180 / CSV Standards). Αν μια Στήλη περιέχει Εισαγωγικά (Quotes) γύρω της... Μπορεί άνετα να κατέχει όσα Κόμματα ( , ) θέλει στο εσωτερικό της... (ΔΕΝ ΘΑ ΚΟΠΕΙ-ΔΕΝ ΘΑ ΧΩΡΙΣΤΕΙ!).
To Yaml... (δεν ΕΧΕΙ Quotes / Εισαγωγικά στα Strings) - Γιατί!;
Εκεί οφείλεται η μαγεία του (YAML). Μετά το άνω & Κάτω τέλεια ( : ) Ότι ακολουθεί.. ΕΙΝΑΙ ΚΕΙΜΕΝΟ ΑΠΟ ΤΗΝ ΦΥΣΗ ΤΟΥ!! Η YAML Απαιτεί Εισαγωγικά.. ΜΟΝΟ αν το κείμενο μέσα έχει Τεράστιους Παλινδρομικά περίεργους χαρακτήρες (Πχ [ ] , ή : ) ώστε να μην σπάσει (Conflict/Escape). Αν είναι καθαρό κείμενο.. μένει 'γυμνό'!
Μπορώ να το Χρησιμοποιήσω (Για Μετατροπή TSV Αρχείων - Tab Separated data);
Το παρόν / Default Εργαλείο Διαχωρίζει βάσει (Κόμματος / Comma /,/ ). Εάν εχετε TSV(Tabs) ΠΡΕΠΕΙ να ανοίξετε το αρχείο με Notepad και να κάνετε : (Αναζήτηση & Αντικατάσταση Oλων -> Των [Tabs] ΣΕ [, κόμματα]).
Υπάρχει (Data/Memory limit) - Ορια μεγέθους Γραμμών (Rows) ;
Δεν Υπάρχει κανένας Hard Coded Server-Limit!! (Άλλωστε.. ΕΚΤΕΛΕΙΤΑΙ στο Δικό σας Υπολογιστή - In Browser-Memory RAM). Αν Αντέχει το Browser Σας , Μπορειτε να του δώσετε (100.000 Γραμμές CSV!). Απλά θα παγώσει για 1 δευτερόλεπτο/Καθυστέρηση κατά την (for-loop Μετατροπή).