Τα αρχεία CSV είναι μια βολική μορφή αποθήκευσης δεδομένων και μπορείτε να τα χρησιμοποιήσετε στα έργα σας στο Node.js για να χειριστείτε οτιδήποτε, από τη διαμόρφωση έως τα ανεπεξέργαστα δεδομένα. Μπορούν να απλοποιήσουν την κοινή χρήση πληροφοριών μεταξύ δύο εφαρμογών, ακόμα κι αν είναι γραμμένες σε διαφορετικές γλώσσες.
Στο Node.js, μπορείτε να χρησιμοποιήσετε διάφορες μεθόδους για να διαβάσετε και να γράψετε αρχεία CSV.
Αυτό το σεμινάριο σάς δείχνει πώς να χρησιμοποιήσετε το fs ενότητα και fast-csv Πακέτο NPM για ανάγνωση και εγγραφή αρχείων CSV.
Ρύθμιση έργου
Για να ακολουθήσετε αυτό το σεμινάριο, βεβαιωθείτε ότι έχετε εγκαταστήσει το Node.js στον υπολογιστή σας. Εκτελέστε αυτήν την εντολή για να ελέγξετε:
κόμβος -v
Θα πρέπει να επιστρέψει έναν αριθμό έκδοσης. Εάν δεν έχετε εγκαταστήσει το Node.js, ακολουθήστε τις οδηγίες σε αυτό σεμινάριο εγκατάστασης να το πράξουν.
Στον κατάλογο που προτιμάτε, δημιουργήστε έναν νέο φάκελο με το όνομα parse-csv.
mkdir parse-csv
Πλοηγηθείτε στο parse-csv και δημιουργήστε ένα νέο αρχείο. Ονομάστε το parseCSV.js.
CD parse-csv
αφήparseCSV.js
Τώρα μπορείτε να ξεκινήσετε να εργάζεστε με CSV.
Χρησιμοποιώντας τη μονάδα fs
Η λειτουργική μονάδα fs (συντομογραφία για το σύστημα αρχείων) περιέχει πολλές εντολές για αλληλεπίδραση με το σύστημα αρχείων στο Node.js.
Διαβάστε ολόκληρο το αρχείο ταυτόχρονα
ο readFile() και readFileSync() εντολές από το fs Η ενότητα σάς επιτρέπει να διαβάζετε περιεχόμενο αρχείου στο Node.js. Η διαφορά μεταξύ αυτών των εντολών είναι ότι readFileSync() είναι σύγχρονη—μπλοκάρει την εκτέλεση άλλων JavaScript—ενώ readFile() είναι ασύγχρονη ή μη αποκλειστική.
Δεδομένου ότι η ανάγνωση αρχείων CSV μπορεί να πάρει λίγο χρόνο, ειδικά για μεγάλα αρχεία, είναι συχνά καλύτερο να χρησιμοποιείτε την εντολή μη αποκλεισμού, readFile(), όπως φαίνεται παρακάτω.
συνθ fs = απαιτώ('fs');
fs.readFile('csvdemo.csv', 'utf8', συνάρτηση (σφάλμα, δεδομένα) {
/* ανάλυση δεδομένων */
});
Εάν δεν έχετε δείγμα αρχείου CSV, μπορείτε να δημιουργήσετε ένα από mockaroo. Μπορείτε επίσης να μάθετε πώς να δημιουργήστε ένα αρχείο CSV ο ίδιος.
Διαβάστε γραμμή προς γραμμή
Ενώ readFile() λειτουργεί, έχει ένταση μνήμης καθώς διαβάζει ολόκληρο το αρχείο CSV ταυτόχρονα. Αυτό είναι ένα πρόβλημα, ειδικά όταν εργάζεστε με μεγάλα αρχεία CSV. Μια εναλλακτική είναι να διαβάζετε μία γραμμή τη φορά χρησιμοποιώντας το fs.createReadStream() εντολή.
συνθ fs = απαιτώ("fs");
συνθ γραμμή ανάγνωσης = απαιτώ("γραμμή ανάγνωσης");
const stream = fs.createReadStream("./csvdemo.csv");
συνθ rl = readline.createInterface({ εισαγωγή: ροή });
αφήνω δεδομένα = [];rl.on("γραμμή", (σειρά) => {
data.push (row.split(","));
});
rl.on("Κλείσε", () => {
κονσόλα.log (δεδομένα);
});
Εδώ, μεταβιβάζετε το όνομα αρχείου CSV fs.createReadStream() για να δημιουργήσετε μια ευανάγνωστη ροή. Οι ροές σάς επιτρέπουν να εργάζεστε με μεγάλες ποσότητες δεδομένων, επιτρέποντάς σας να έχετε πρόσβαση σε αυτά σε κομμάτια.
Μόλις δημιουργήσετε την αναγνώσιμη ροή, περάστε την σε readline.createInterface() μέθοδος. ο γραμμή ανάγνωσης Η ενότητα παρέχει μια διεπαφή για την ανάγνωση των δεδομένων μία γραμμή τη φορά. Τώρα μπορείτε να σπρώξετε κάθε σειρά στον πίνακα δεδομένων καθώς διαβάζεται.
Σημειώστε, ωστόσο, ότι αυτός ο κώδικας απλώς χωρίζει κάθε σειρά σε κόμματα. Αν και αυτό θα λειτουργήσει με το πιο βασικό αρχείο CSV, η μορφή είναι στην πραγματικότητα πιο περίπλοκη από ό, τι υπονοεί το όνομά της. Η χειροκίνητη ανάλυση αρχείων CSV δεν είναι μια ισχυρή προσέγγιση, ειδικά εάν δεν ελέγχετε μόνοι σας τα δεδομένα. Για τις περισσότερες περιπτώσεις, θα πρέπει να χρησιμοποιήσετε μια βιβλιοθήκη CSV.
Χρήση fast-csv
Για αξιόπιστη ανάλυση αρχείων CSV, μπορείτε να χρησιμοποιήσετε μια βιβλιοθήκη όπως fast-csv, το οποίο είναι διαθέσιμο ως πακέτο npm. Διευκολύνει όχι μόνο την ανάγνωση αρχείων CSV αλλά και τη μορφοποίησή τους.
Για να ξεκινήσετε, αρχικοποιήστε npm και εγκαταστήστε fast-csv.
npm init -y
npm i fast-csv
Διαβάστε αρχεία CSV χρησιμοποιώντας fast-csv ως εξής.
συνθ fs = απαιτώ('fs')
συνθ csv = απαιτώ('fast-csv');
συνθ δεδομένα = []
fs.createReadStream('./csvdemo.csv')
.σωλήνας(csv.αναλύω πρόταση({ κεφαλίδες: αλήθεια }))
.επί('λάθος', σφάλμα => console.error (σφάλμα))
.επί('δεδομένα', σειρά => data.push (σειρά))
.επί('τέλος', () => console.log (δεδομένα));
Στον παραπάνω κώδικα, ξεκινήστε δημιουργώντας μια αναγνώσιμη ροή από το αρχείο CSV και, στη συνέχεια, συνδέστε τη με τη μέθοδο ανάλυσης από γρήγορο CSV χρησιμοποιώντας σωλήνας(). Σημειώστε ότι μεταβιβάζετε την επιλογή κεφαλίδων σε csv.parse(). Αυτό παρακάμπτει την πρώτη σειρά. Ορισμός κεφαλίδων σε ψευδής εάν η πρώτη σειρά του αρχείου CSV δεν περιέχει κεφαλίδες.
Καθώς το αρχείο CSV διαβάζεται μία σειρά τη φορά, πιέζετε κάθε σειρά στον πίνακα δεδομένων. Αφού διαβάσετε ολόκληρο το αρχείο, μπορείτε να χειριστείτε τα περιεχόμενα του πίνακα δεδομένων όπως θέλετε.
Υπάρχουν περισσότεροι από ένας τρόποι ανάλυσης ενός CSV
Τα αρχεία CSV είναι χρήσιμα για την αποθήκευση μεγάλων συνόλων δεδομένων, επειδή είναι εύκολο να τα αναλύσετε. Στο Node.js, μπορείτε να χρησιμοποιήσετε την ενσωματωμένη λειτουργική μονάδα fs ή πακέτα NPM.
Η χρήση μιας βιβλιοθήκης όπως η fast-csv είναι πολύ πιο εύκολη και πιο ισχυρή από το να γράψετε τον δικό σας κώδικα ανάλυσης με μη αυτόματο τρόπο. Μερικά άλλα πακέτα για ανάλυση CSV είναι csv-parser και παπά αναλυτής.
Ένας οδηγός για αρχάριους για RESTful API στο Node.js
Διαβάστε Επόμενο
Σχετικά θέματα
- Προγραμματισμός
- Προγραμματισμός
- JavaScript
Σχετικά με τον Συγγραφέα

Η Mary Gathoni είναι μια προγραμματίστρια λογισμικού με πάθος για τη δημιουργία τεχνικού περιεχομένου που δεν είναι μόνο ενημερωτικό αλλά και συναρπαστικό. Όταν δεν κωδικοποιεί ή δεν γράφει, της αρέσει να κάνει παρέα με φίλους και να βρίσκεται σε εξωτερικούς χώρους.
Εγγραφείτε στο ενημερωτικό μας δελτίο
Εγγραφείτε στο ενημερωτικό μας δελτίο για συμβουλές τεχνολογίας, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!
Κάντε κλικ εδώ για να εγγραφείτε