Τι είναι ένα αρχείο CSV;
Τα αρχεία με επέκταση .csv (Τιμές διαχωρισμένες με κόμματα) αντιπροσωπεύουν αρχεία απλού κειμένου που περιέχουν εγγραφές δεδομένων με τιμές διαχωρισμένες με κόμμα. Κάθε γραμμή σε ένα αρχείο CSV είναι μια νέα εγγραφή από το σύνολο εγγραφών που περιέχεται στο αρχείο. Τέτοια αρχεία δημιουργούνται όταν η μεταφορά δεδομένων προορίζεται από το ένα σύστημα αποθήκευσης στο άλλο. Δεδομένου ότι όλες οι εφαρμογές μπορούν να αναγνωρίσουν εγγραφές που χωρίζονται με κόμμα, η εισαγωγή τέτοιων αρχείων δεδομένων στη βάση δεδομένων γίνεται πολύ εύκολα. Σχεδόν όλες οι εφαρμογές υπολογιστικών φύλλων όπως το Microsoft Excel ή το OpenOffice Calc μπορούν να εισάγουν CSV χωρίς μεγάλη προσπάθεια. Τα δεδομένα που εισάγονται από τέτοια αρχεία ταξινομούνται σε κελιά ενός υπολογιστικού φύλλου για αναπαράσταση στον χρήστη.
Σύντομη Ιστορία
Ακολουθούν μερικά γρήγορα στοιχεία σχετικά με την προέλευση και την ιστορία της μορφής αρχείου CSV.
1972 - Ο μεταγλωττιστής IBM Fortran (εκτεταμένο επίπεδο H) τα υποστήριζε στο OS/360
1978 - Η είσοδος/έξοδος κατευθυνόμενη από λίστα υποστηρίχτηκε από το FORTRAN 77 που χρησιμοποιούσε κόμματα και κενά για οριοθέτες
2005 - Το CSV τυποποιήθηκε με RFC4180 ως τύπο περιεχομένου MIME.
2013 - Οι ελλείψεις του RFC4180 αντιμετωπίστηκαν από μια σύσταση του W3C
2015 - Το W3C έκανε τα πρώτα προσχέδια συστάσεων για πρότυπα μεταδεδομένων CSV, τα οποία ξεκίνησαν ως σύσταση τον Δεκέμβριο του 2015
Μετατροπή αρχείων CSV
Τα αρχεία CSV μπορούν να μετατραπούν σε πολλές διαφορετικές μορφές αρχείων χρησιμοποιώντας τις εφαρμογές που μπορούν να ανοίξουν αυτά τα αρχεία. Για παράδειγμα, το Microsoft Excel μπορεί να εισάγει δεδομένα από τη μορφή αρχείου CSV και να τα αποθηκεύσει σε XLS, XLSX, PDF, TXT Μορφές αρχείων , XML και HTML. Ομοίως, άλλες υπηρεσίες επιτραπέζιου υπολογιστή καθώς και διαδικτυακές υπηρεσίες παρέχουν τη δυνατότητα εξαγωγής αρχείων CSV σε HTML, ODS και RTF.
Μορφή αρχείου CSV
Η μορφή αρχείου CSV είναι γνωστό ότι καθορίζεται στο RFC4180. Ορίζει ότι οποιοδήποτε αρχείο είναι συμβατό με CSV εάν:
- Κάθε εγγραφή βρίσκεται σε ξεχωριστή γραμμή, οριοθετημένη από αλλαγή γραμμής (CRLF). Για παράδειγμα:
- aaa,bbb,ccc CRLF
- zzz, εεε, xxx CRLF
- Η τελευταία εγγραφή στο αρχείο μπορεί να έχει ή να μην έχει μια τελική αλλαγή γραμμής. Για παράδειγμα:
- aaa,bbb,ccc CRLF
- ζζ, εεε, χχχ
- Μπορεί να εμφανίζεται μια προαιρετική γραμμή κεφαλίδας ως η πρώτη γραμμή του αρχείου με την ίδια μορφή με τις κανονικές γραμμές εγγραφής. Αυτή η κεφαλίδα θα περιέχει ονόματα που αντιστοιχούν στα πεδία του αρχείου και θα πρέπει να περιέχει τον ίδιο αριθμό πεδίων με τις εγγραφές στο υπόλοιπο αρχείο (η παρουσία ή η απουσία της γραμμής κεφαλίδας θα πρέπει να υποδεικνύεται μέσω της προαιρετικής παραμέτρου “κεφαλίδα” αυτού τύπος MIME). Για παράδειγμα:
- Όνομα_πεδίου, Όνομα_πεδίου, Όνομα_πεδίου CRLF
- aaa,bbb,ccc CRLF
- zzz, εεε, xxx CRLF
- Μέσα στην κεφαλίδα και σε κάθε εγγραφή, μπορεί να υπάρχουν ένα ή περισσότερα πεδία, διαχωρισμένα με κόμματα. Κάθε γραμμή πρέπει να περιέχει τον ίδιο αριθμό πεδίων σε όλο το αρχείο. Οι χώροι θεωρούνται μέρος ενός πεδίου και δεν πρέπει να αγνοούνται. Το τελευταίο πεδίο στην εγγραφή δεν πρέπει να ακολουθείται από κόμμα. Για παράδειγμα:
- aaa,bbb,ccc
- Κάθε πεδίο μπορεί να περικλείεται ή να μην περικλείεται σε διπλά εισαγωγικά (ωστόσο ορισμένα προγράμματα, όπως το Microsoft Excel, δεν χρησιμοποιούν καθόλου διπλά εισαγωγικά). Εάν τα πεδία δεν περικλείονται με διπλά εισαγωγικά, τότε τα διπλά εισαγωγικά ενδέχεται να μην εμφανίζονται μέσα στα πεδία. Για παράδειγμα:\
- “aaa”, “bbb”, “ccc” CRLF
- ζζ, εεε, χχχ
- Τα πεδία που περιέχουν αλλαγές γραμμής (CRLF), διπλά εισαγωγικά και κόμματα πρέπει να περικλείονται σε διπλά εισαγωγικά. Για παράδειγμα:
- “aaa”,“b CRLF
- bb”, “ccc” CRLF
- ζζ, εεε, χχχ
- Εάν χρησιμοποιούνται διπλά εισαγωγικά για να περικλείονται πεδία, τότε ένα διπλό εισαγωγικό που εμφανίζεται μέσα σε ένα πεδίο πρέπει να διαφύγει, τοποθετώντας πριν από αυτό ένα άλλο διπλό εισαγωγικό. Για παράδειγμα:
- “aaa”, “b"“bb”, “ccc”
Ωστόσο, υπό το φως της σύγχρονης χρήσης, ο οριοθέτης δεν περιορίζεται μόνο σε κόμμα και μπορεί επίσης να είναι ερωτηματικό, καρτέλα ή κενά. Εφαρμογές όπως το Microsoft Excel παρέχουν την επιλογή για τον καθορισμό του χαρακτήρα οριοθέτησης για την εισαγωγή εγγραφών από ένα αρχείο CSV.