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.

instagram viewer

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

DelitiTweetDelitiE-naslov

Povezane teme

  • Programiranje
  • Programiranje
  • JavaScript

O avtorju

Marija Gathoni (Objavljenih 18 člankov)

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.

Več od Mary Gathoni

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