Fișierele CSV sunt un format convenabil de stocare a datelor și le puteți utiliza în proiectele dvs. Node.js pentru a gestiona orice, de la configurare la date brute. Ele pot simplifica partajarea informațiilor între două aplicații, chiar dacă sunt scrise în limbi diferite.

În Node.js, puteți folosi mai multe metode pentru a citi și scrie fișiere CSV.

Acest tutorial vă arată cum să utilizați fs modul şi rapid-csv Pachetul NPM pentru a citi și scrie fișiere CSV.

Configurarea proiectului

Pentru a urma acest tutorial, asigurați-vă că aveți instalat Node.js pe computer. Rulați această comandă pentru a verifica:

nodul -v

Ar trebui să returneze un număr de versiune. Dacă nu aveți instalat Node.js, urmați instrucțiunile din aceasta tutorial de instalare să facă asta.

În directorul preferat, creați un folder nou numit parse-csv.

mkdir parse-csv

Navigheaza catre parse-csv și creați un fișier nou. Numiți-i parseCSV.js.

CD parse-csv
atingereparseCSV.js

Acum puteți începe să lucrați cu CSV.

Folosind modulul fs

instagram viewer

Modulul fs (prescurtare pentru sistem de fișiere) conține mai multe comenzi pentru interacțiunea cu sistemul de fișiere din Node.js.

Citiți întregul fișier dintr-o dată

The readFile() și readFileSync() comenzi de la fs modul vă permite să citiți conținutul fișierului în Node.js. Diferența dintre aceste comenzi este aceea că readFileSync() este sincron – blochează executarea altor JavaScript – în timp ce readFile() este asincron sau neblocant.

Deoarece citirea fișierelor CSV poate dura ceva timp, în special pentru fișierele mari, este adesea mai bine să utilizați comanda de non-blocare, readFile(), așa cum se arată mai jos.

const fs = cere('fs');

fs.readFile('csvdemo.csv', 'utf8', function (err, data) {
/* analiza datelor */
});

Dacă nu aveți un fișier CSV exemplu, puteți genera unul din mockaroo. De asemenea, puteți învăța cum creați un fișier CSV tu.

Citiți rând cu rând

In timp ce readFile() funcționează, necesită multă memorie deoarece citește întregul fișier CSV dintr-o dată. Aceasta este o problemă, mai ales când lucrați cu fișiere CSV mari. O alternativă este să citiți câte o linie folosind fs.createReadStream() comanda.

const fs = cere("fs");
const readline = cere("Citeste linia");
flux constant = fs.createReadStream("./csvdemo.csv");
const rl = readline.createInterface({ intrare: curent });
lăsa date = [];

rl.on("linia", (rând) => {
data.push (row.split(","));
});

rl.on("închide", () => {
consolă.log (date);
});

Aici, îi transmiteți numele fișierului CSV fs.createReadStream() pentru a crea un flux care poate fi citit. Fluxurile vă permit să lucrați cu cantități mari de date, permițându-vă să le accesați în bucăți.

După ce creați fluxul care poate fi citit, transmiteți-l către readline.createInterface() metodă. The Citeste linia modulul oferă o interfață pentru citirea datelor pe rând. Acum puteți împinge fiecare rând în matricea de date pe măsură ce este citit.

Rețineți, totuși, că acest cod împarte pur și simplu fiecare rând pe virgule. Deși acesta va funcționa cu cel mai simplu fișier CSV, formatul este de fapt mai complicat decât sugerează numele său. Analizarea manuală a fișierelor CSV nu este o abordare robustă, mai ales dacă nu dețineți singur controlul asupra datelor. În majoritatea situațiilor, ar trebui să utilizați o bibliotecă CSV.

Folosind fast-csv

Pentru a analiza fișierele CSV în mod fiabil, puteți utiliza o bibliotecă ca rapid-csv, care este disponibil ca pachet npm. Face mai ușor nu numai citirea fișierelor CSV, ci și formatarea acestora.

Pentru a începe, inițializați npm și instalați rapid-csv.

npm init -y
npm i fast-csv

Citiți fișierele CSV folosind fast-csv, după cum urmează.

const fs = cere('fs')
const csv = cere('rapid-csv');
const date = []

fs.createReadStream('./csvdemo.csv')
.teava(csv.analiza({ antete: Adevărat }))
.pe('eroare', eroare => console.error (eroare))
.pe('date', rând => date.push (rând))
.pe('Sfârşit', () => console.log (date));

În codul de mai sus, începeți prin a crea un flux care poate fi citit din fișierul CSV, apoi conectați-l la metoda de analiză din CSV rapid folosind teava(). Rețineți că îi treceți opțiunea antete csv.parse(). Aceasta omite primul rând. Setați antetele la fals dacă primul rând al fișierului dvs. CSV nu conține anteturi.

Pe măsură ce fișierul CSV este citit câte un rând, împingeți fiecare rând în matricea de date. După ce întregul fișier este citit, puteți manipula conținutul matricei de date după cum doriți.

Există mai mult de o modalitate de a analiza un CSV

Fișierele CSV sunt utile pentru stocarea seturilor mari de date, deoarece este ușor să le analizați. În Node.js, puteți utiliza modulul fs încorporat sau pachetele NPM.

Utilizarea unei biblioteci precum fast-csv este mult mai ușoară și mai robustă decât scrierea manuală a propriului cod de analiză. Alte pachete pentru analizarea CSV sunt csv-parser și papa parser.

Un ghid pentru începători pentru API-urile RESTful în Node.js

Citiți în continuare

AcțiuneTweetAcțiuneE-mail

Subiecte asemănătoare

  • Programare
  • Programare
  • JavaScript

Despre autor

Mary Gathoni (18 articole publicate)

Mary Gathoni este un dezvoltator de software cu o pasiune pentru crearea de conținut tehnic care nu este doar informativ, ci și antrenant. Când nu codifică sau nu scrie, îi place să iasă cu prietenii și să fie în aer liber.

Mai multe de la Mary Gathoni

Aboneaza-te la newsletter-ul nostru

Alăturați-vă buletinului nostru informativ pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Click aici pentru a te abona