Datoteke CSV so priročna oblika za shranjevanje podatkov in jih lahko uporabite v svojih projektih Node.js za obdelavo česar koli, od konfiguracije do neobdelanih podatkov. Lahko poenostavijo izmenjavo informacij med dvema aplikacijama, tudi če so napisane v različnih jezikih.
V Node.js lahko uporabite več metod za branje in pisanje datotek CSV.
Ta vadnica vam pokaže, kako uporabljati fs modul in hitri-csv NPM paket za branje in pisanje datotek CSV.
Nastavitev projekta
Če želite slediti tej vadnici, se prepričajte, da imate v računalniku nameščen Node.js. Zaženite ta ukaz, da preverite:
vozlišče -v
Vrniti mora številko različice. Če nimate nameščenega Node.js, sledite navodilom v tem vadnica za namestitev narediti tako.
V želenem imeniku ustvarite novo mapo z imenom parse-csv.
mkdir razčlenitev-csv
Pomaknite se do parse-csv in ustvarite novo datoteko. Poimenujte ga parseCSV.js.
cd parse-csv
dotikparseCSV.js
Zdaj lahko začnete delati s CSV.
Uporaba modula fs
Modul fs (okrajšava za datotečni sistem) vsebuje več ukazov za interakcijo z datotečnim sistemom v Node.js.
Preberite celotno datoteko naenkrat
The preberi datoteko() in readFileSync() ukazi iz fs modul omogoča branje vsebine datoteke v Node.js. Razlika med temi ukazi je v tem readFileSync() je sinhrono – blokira izvajanje drugega JavaScripta – medtem ko preberi datoteko() je asinhrona ali neblokirna.
Ker branje datotek CSV lahko vzame nekaj časa, zlasti pri velikih datotekah, je pogosto bolje uporabiti ukaz za neblokiranje, preberi datoteko(), kot je prikazano spodaj.
konst fs = zahtevajo('fs');
fs.readFile('csvdemo.csv', 'utf8', funkcija (napaka, podatki) {
/* razčleni podatke */
});
Če nimate vzorčne datoteke CSV, jo lahko ustvarite iz mockaroo. Lahko se tudi naučite, kako ustvarite datoteko CSV sebe.
Berite vrstico za vrstico
Medtem preberi datoteko() deluje, zahteva pomnilnik, saj naenkrat prebere celotno datoteko CSV. To je težava, zlasti pri delu z velikimi datotekami CSV. Druga možnost je, da berete eno vrstico naenkrat z uporabo fs.createReadStream() ukaz.
konst fs = zahtevajo("fs");
konst readline = zahtevajo("preberite");
const stream = fs.createReadStream("./csvdemo.csv");
konst rl = readline.createInterface({ vnos: tok });
pustiti podatki = [];rl.on("vrstico", (vrstica) => {
data.push (vrstica.split(","));
});
rl.on("blizu", () => {
konzolo.log (podatki);
});
Tukaj posredujete ime datoteke CSV fs.createReadStream() ustvariti berljiv tok. Tokovi vam omogočajo delo z velikimi količinami podatkov, saj vam omogočajo dostop do njih v kosih.
Ko ustvarite berljiv tok, ga posredujte readline.createInterface() metoda. The črta za branje modul nudi vmesnik za branje podatkov eno vrstico naenkrat. Zdaj lahko vsako vrstico potisnete v podatkovno matriko, ko se bere.
Upoštevajte pa, da ta koda preprosto razdeli vsako vrstico na vejice. Čeprav bo to delovalo z najosnovnejšo datoteko CSV, je oblika dejansko bolj zapletena, kot pove njeno ime. Ročno razčlenjevanje datotek CSV ni robusten pristop, še posebej, če sami nimate nadzora nad podatki. V večini primerov bi morali uporabiti knjižnico CSV.
Uporaba hitrega csv
Za zanesljivo razčlenitev datotek CSV lahko uporabite knjižnico, kot je hitri-csv, ki je na voljo kot paket npm. Olajša ne samo branje datotek CSV, temveč tudi njihovo formatiranje.
Za začetek inicializirajte npm in namestite hitri-csv.
npm init -y
npm in hitri-csv
Preberite datoteke CSV s pomočjo hitrega csv, kot sledi.
konst fs = zahtevajo('fs')
konst csv = zahtevajo('fast-csv');
konst podatki = []
fs.createReadStream('./csvdemo.csv')
.cev(csv.razčleniti({ glave: prav }))
.on('napaka', napaka => console.error (napaka))
.on('podatkov', vrstica => data.push (vrstica))
.on('konec', () => console.log (podatki));
V zgornji kodi začnite z ustvarjanjem berljivega toka iz datoteke CSV, nato pa ga povežite z metodo razčlenjevanja iz hitrega CSV-ja z uporabo cev (). Upoštevajte, da posredujete možnost glave csv.parse(). S tem preskočite prvo vrstico. Nastavite glave na napačno če prva vrstica vaše datoteke CSV ne vsebuje glav.
Ker se datoteka CSV bere eno vrstico naenkrat, potisnete vsako vrstico v podatkovno matriko. Ko je celotna datoteka prebrana, lahko poljubno manipulirate z vsebino podatkovnega niza.
Obstaja več kot en način za razčlenitev CSV
Datoteke CSV so uporabne za shranjevanje velikih naborov podatkov, ker jih je enostavno razčleniti. V Node.js lahko uporabite vgrajeni modul fs ali pakete NPM.
Uporaba knjižnice, kot je fast-csv, je veliko lažja in bolj robustna kot ročno pisanje lastne kode za razčlenjevanje. Nekateri drugi paketi za razčlenjevanje CSV so csv-razčlenjevalnik in papa razčlenjevalnik.
Vodnik za začetnike po API-jih RESTful v Node.js
Preberite Naprej
Povezane teme
- Programiranje
- Programiranje
- JavaScript
O avtorju
Mary Gathoni je razvijalka programske opreme s strastjo do ustvarjanja tehničnih vsebin, ki niso le informativne, ampak tudi privlačne. Ko ne kodira ali piše, uživa v druženju s prijatelji in na prostem.
Naročite se na naše novice
Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!
Kliknite tukaj, da se naročite