Μετατροπέας CSV σε YAML

Μετασχηματίστε Λίστες και αρχεία (Speadsheets) CSV στη γλώσσα δομής YAML — Με αυτόματη ταξινόμηση Keys και ανίχνευση Data Types!

Κοινοποίηση:

Μετατροπέας 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 Βήματα)!..

1

Επικολλήστε τo Κομμάτι/Πίνακα του CSV

Αντιγράψτε απο το Excel-File σας τα κελιά. ΠΡΟΣΟΧΗ: Η Πρώτη(1η) γραμμή να αποτελεί πάντα τον Τίτλο (Header) -ώστε να γνωρίζουμε τα Keys.

2

On-The-Fly / Άμεση Ανίχνευση

Ο Μετατροπέας (Array-Parser) Σπάει το CSV String, Αφαιρεί/Τιθασεύει τα Quotes (Εισαγωγικά) και σχηματοποιεί Ύπέροχο YAML List-Formatting (με Παυλίτσες / - ) .

3

Αντιγραφή - (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 Μετατροπή).