CSV-failid on mugav andmesalvestusvorming ja saate neid kasutada oma Node.js-projektides, et käsitleda kõike alates konfiguratsioonist kuni töötlemata andmeteni. Need võivad lihtsustada teabe jagamist kahe rakenduse vahel, isegi kui need on kirjutatud erinevates keeltes.
Programmis Node.js saate CSV-failide lugemiseks ja kirjutamiseks kasutada mitut meetodit.
See õpetus näitab, kuidas kasutada fs moodul ja kiire-csv NPM-pakett CSV-failide lugemiseks ja kirjutamiseks.
Projekti seadistamine
Selle õpetuse järgimiseks veenduge, et teie arvutisse oleks installitud Node.js. Käivitage see käsk, et kontrollida:
sõlm -v
See peaks tagastama versiooninumbri. Kui teil pole Node.js-i installitud, järgige selles toodud juhiseid paigaldusõpetus seda teha.
Looge oma eelistatud kataloogis uus kaust nimega parse-csv.
mkdir parse-csv
Navigeerige parse-csv ja looge uus fail. Nimetage see parseCSV.js.
cd parse-csv
puudutadaparseCSV.js
Nüüd saate alustada tööd CSV-ga.
Kasutades fs moodulit
Moodul fs (lühend sõnast failisüsteem) sisaldab mitmeid käske Node.js failisüsteemiga suhtlemiseks.
Lugege kogu faili korraga
The loe fail() ja readFileSync() käsud fs moodul võimaldab teil lugeda faili sisu Node.js-s. Nende käskude erinevus seisneb selles readFileSync() on sünkroonne – see blokeerib teiste JavaScripti käivitamise – samal ajal loe fail() on asünkroonne või mitteblokeeriv.
Kuna CSV-failide lugemine võib võtta veidi aega, eriti suurte failide puhul, on sageli parem kasutada mitteblokeerivat käsku, loe fail(), nagu allpool näidatud.
konst fs = nõuda('fs');
fs.readFile('csvdemo.csv', 'utf8', function (err, data) {
/* sõelu andmeid */
});
Kui teil pole näidis-CSV-faili, saate selle luua mockaroo. Samuti saate õppida, kuidas luua CSV-fail ise.
Loe rida rea haaval
Kuigi loe fail() töötab, on see mälumahukas, kuna loeb kogu CSV-faili korraga. See on probleem, eriti kui töötate suurte CSV-failidega. Alternatiiviks on lugeda üks rida korraga, kasutades fs.createReadStream() käsk.
konst fs = nõuda("fs");
konst readline = nõuda("readline");
const stream = fs.createReadStream("./csvdemo.csv");
konst rl = readline.createInterface({ sisend: voog });
lase andmed = [];rl.on("rida", (rida) => {
data.push (row.split(","));
});
rl.on("Sulge", () => {
konsool.log (andmed);
});
Siin edastate CSV-faili nime fs.createReadStream() loetava voo loomiseks. Vood võimaldavad teil töötada suurte andmemahtudega, võimaldades teil juurdepääsu sellele tükkidena.
Kui olete loetava voo loonud, edastage see kasutajale readline.createInterface() meetod. The readline moodul pakub liidest andmete lugemiseks rea kaupa. Nüüd saate iga rea lugemise ajal andmemassiivi lükata.
Pange tähele, et see kood jagab iga rea lihtsalt komadeks. Kuigi see töötab kõige elementaarsema CSV-failiga, on vorming tegelikult keerulisem, kui selle nimi viitab. CSV-failide käsitsi sõelumine ei ole jõuline lähenemine, eriti kui te ise andmeid ei kontrolli. Enamikul juhtudel peaksite kasutama CSV-teeki.
Kiire-csv kasutamine
CSV-failide usaldusväärseks sõelumiseks võite kasutada teeki nagu kiire-csv, mis on saadaval npm-paketina. See hõlbustab mitte ainult CSV-failide lugemist, vaid ka nende vormindamist.
Alustamiseks lähtestage npm ja installida kiire-csv.
npm init -y
npm ja kiir-csv
Lugege CSV-faile kiir-csv-ga järgmiselt.
konst fs = nõuda('fs')
konst csv = nõuda('kiire-csv');
konst andmed = []
fs.createReadStream('./csvdemo.csv')
.toru(csv.parse({ päised: tõsi }))
.peal('viga', viga => console.error (viga))
.peal('andmeid', rida => data.push (rida))
.peal('lõpp', () => console.log (andmed));
Alustuseks looge ülaltoodud koodis CSV-failist loetav voog, seejärel ühendage see kiire CSV-st sõelumismeetodiga, kasutades toru (). Pange tähele, et edastate päiste valiku csv.parse(). See jätab esimese rea vahele. Määra päised vale kui teie CSV-faili esimene rida ei sisalda päiseid.
Kuna CSV-faili loetakse üks rida korraga, lükkate iga rea andmemassiivi. Pärast kogu faili lugemist saate andmemassiivi sisu vastavalt soovile manipuleerida.
CSV-faili sõelumiseks on rohkem kui üks viis
CSV-failid on kasulikud suurte andmehulkade salvestamiseks, kuna neid on lihtne sõeluda. Programmis Node.js saate kasutada sisseehitatud fs-moodulit või NPM-pakette.
Teegi (nt kiir-csv) kasutamine on palju lihtsam ja töökindlam, kui käsitsi parsimiskoodi kirjutamine. Mõned muud paketid CSV parsimiseks on csv-parser ja papa parser.
Juhend algajatele rakenduses Node.js RESTful API-de kohta
Loe edasi
Seotud teemad
- Programmeerimine
- Programmeerimine
- JavaScript
Autori kohta
Mary Gathoni on tarkvaraarendaja, kelle kirg on luua tehnilist sisu, mis pole mitte ainult informatiivne, vaid ka kaasahaarav. Kui ta ei kodeeri ega kirjuta, naudib ta sõpradega aega veetmist ja õues olemist.
Liituge meie uudiskirjaga
Liituge meie uudiskirjaga tehniliste näpunäidete, arvustuste, tasuta e-raamatute ja eksklusiivsete pakkumiste saamiseks!
Tellimiseks klõpsake siin