CSV failai yra patogus duomenų saugojimo formatas, kurį galite naudoti savo Node.js projektuose, kad galėtumėte tvarkyti bet ką – nuo ​​konfigūracijos iki neapdorotų duomenų. Jie gali supaprastinti dalijimąsi informacija tarp dviejų programų, net jei jos parašytos skirtingomis kalbomis.

Programoje Node.js galite naudoti kelis būdus CSV failams skaityti ir rašyti.

Šioje pamokoje parodyta, kaip naudotis fs modulis ir greitas-csv NPM paketas, skirtas skaityti ir rašyti CSV failus.

Projekto sąranka

Jei norite tęsti šią mokymo programą, įsitikinkite, kad jūsų kompiuteryje yra įdiegtas Node.js. Paleiskite šią komandą, kad patikrintumėte:

mazgas -v

Jis turėtų grąžinti versijos numerį. Jei nesate įdiegę Node.js, vadovaukitės čia pateikta instrukcija diegimo pamoka tai padaryti.

Pageidaujamame kataloge sukurkite naują aplanką, pavadintą parse-csv.

mkdir parse-csv

Eikite į parse-csv ir sukurti naują failą. Pavadinkite jį parseCSV.js.

cd parse-csv
liestiparseCSV.js

Dabar galite pradėti dirbti su CSV.

Naudojant fs modulį

instagram viewer

Fs (failų sistemos trumpinys) modulyje yra keletas komandų, skirtų sąveikai su failų sistema Node.js.

Perskaitykite visą failą vienu metu

The skaityti failą () ir readFileSync() komandos iš fs modulis leidžia skaityti failo turinį Node.js. Skirtumas tarp šių komandų yra tas readFileSync() yra sinchroninis – blokuoja kitų „JavaScript“ vykdymą skaityti failą () yra asinchroninis arba neblokuojantis.

Kadangi CSV failų skaitymas gali užtrukti, ypač dideliems failams, dažnai geriau naudoti komandą neblokuoti, skaityti failą (), kaip parodyta žemiau.

konst fs = reikalauti(„fs“);

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

Jei neturite pavyzdinio CSV failo, galite jį sugeneruoti iš mockaroo. Taip pat galite sužinoti, kaip sukurti CSV failą save.

Skaitykite eilutę po eilutės

Nors skaityti failą () veikia, reikalauja daug atminties, nes skaito visą CSV failą vienu metu. Tai yra problema, ypač dirbant su dideliais CSV failais. Alternatyva yra skaityti vieną eilutę vienu metu naudojant fs.createReadStream() komandą.

konst fs = reikalauti(„fs“);
konst skaitymo eilutė = reikalauti(„readline“);
const stream = fs.createReadStream("./csvdemo.csv");
konst rl = readline.createInterface({ įvestis: srautas });
leisti duomenys = [];

rl.on("linija", (eilutė) => {
data.push (row.split(","));
});

rl.on("Uždaryti", () => {
konsolė.log (duomenys);
});

Čia jūs perduodate CSV failo pavadinimą fs.createReadStream() sukurti skaitomą srautą. Srautai leidžia dirbti su dideliu duomenų kiekiu, nes galite juos pasiekti dalimis.

Sukūrę skaitomą srautą, perduokite jį readline.createInterface() metodas. The skaitymo linija modulis suteikia sąsają duomenims skaityti po vieną eilutę. Dabar kiekvieną eilutę galite perkelti į duomenų masyvą, kai ji yra nuskaitoma.

Tačiau atminkite, kad šis kodas tiesiog padalija kiekvieną eilutę kableliais. Nors tai veiks su paprasčiausiu CSV failu, formatas iš tikrųjų yra sudėtingesnis, nei rodo jo pavadinimas. CSV failų analizavimas rankiniu būdu nėra patikimas būdas, ypač jei patys nevaldote duomenų. Daugeliu atvejų turėtumėte naudoti CSV biblioteką.

Naudojant greitąjį csv

Norėdami patikimai išanalizuoti CSV failus, galite naudoti biblioteką, pvz greitas-csv, kurį galima įsigyti kaip npm paketą. Tai leidžia lengviau ne tik skaityti CSV failus, bet ir juos formatuoti.

Norėdami pradėti, inicijuokite npm ir įdiegti greitas-csv.

npm init -y
npm ir greitas-csv

Skaitykite CSV failus naudodami greitąjį csv, kaip nurodyta toliau.

konst fs = reikalauti(„fs“)
konst csv = reikalauti("fast-csv");
konst duomenys = []

fs.createReadStream('./csvdemo.csv')
.vamzdis(csv.išanalizuoti({ antraštes: tiesa }))
.on('klaida', klaida => console.error (klaida))
.on('duomenis', eilutė => data.push (eilutė))
.on('pabaiga', () => console.log (duomenys));

Aukščiau pateiktame kode pradėkite sukurdami skaitomą srautą iš CSV failo, tada prijunkite jį prie analizavimo metodo iš greitojo CSV naudodami vamzdis (). Atminkite, kad perduodate antraštės parinktį csv.parse(). Taip praleidžiama pirmoji eilutė. Nustatyti antraštes į klaidinga jei pirmoje CSV failo eilutėje nėra antraščių.

Kadangi CSV failas skaitomas po vieną eilutę, kiekvieną eilutę perkeliate į duomenų masyvą. Perskaitę visą failą, galite keisti duomenų masyvo turinį, kaip norite.

Yra daugiau nei vienas būdas išanalizuoti CSV

CSV failai naudingi dideliems duomenų rinkiniams saugoti, nes juos lengva išanalizuoti. Node.js galite naudoti integruotą fs modulį arba NPM paketus.

Naudoti biblioteką, pvz., „fast-csv“, yra daug lengviau ir patikimiau, nei rašyti savo analizavimo kodą rankiniu būdu. Kai kurie kiti CSV analizavimo paketai yra csv analizatorius ir papa analizatorius.

RESTful API Node.js pradedantiesiems vadovas

Skaitykite toliau

DalintisTviteryjeDalintisEl. paštas

Susijusios temos

  • Programavimas
  • Programavimas
  • JavaScript

Apie autorių

Marija Gathoni (18 straipsnių paskelbta)

Mary Gathoni yra programinės įrangos kūrėja, kuri aistringai kuria techninį turinį, kuris būtų ne tik informatyvus, bet ir įtraukiantis. Kai ji nekoduoja ir nerašo, jai patinka leisti laiką su draugais ir būti lauke.

Daugiau iš Mary Gathoni

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. knygų ir išskirtinių pasiūlymų!

Spauskite čia norėdami užsiprenumeruoti