Súbory CSV sú vhodným formátom na ukladanie údajov a môžete ich použiť vo svojich projektoch Node.js na spracovanie čohokoľvek od konfigurácie až po nespracované údaje. Môžu zjednodušiť zdieľanie informácií medzi dvoma aplikáciami, aj keď sú napísané v rôznych jazykoch.

V Node.js môžete použiť niekoľko metód na čítanie a zápis súborov CSV.

Tento tutoriál vám ukáže, ako používať fs modul a rýchlo-csv Balík NPM na čítanie a zapisovanie súborov CSV.

Nastavenie projektu

Ak chcete pokračovať v tomto návode, uistite sa, že máte na svojom počítači nainštalovaný súbor Node.js. Spustite tento príkaz a skontrolujte:

uzol -v

Mal by vrátiť číslo verzie. Ak nemáte nainštalovaný Node.js, postupujte podľa pokynov v tomto návod na inštaláciu urobiť tak.

Vo svojom preferovanom adresári vytvorte nový priečinok s názvom parse-csv.

mkdir parse-csv

Prejdite na parse-csv a vytvorte nový súbor. Pomenujte ho parseCSV.js.

cd parse-csv
dotykparseCSV.js

Teraz môžete začať pracovať s CSV.

Pomocou modulu fs

Modul fs (skratka pre súborový systém) obsahuje niekoľko príkazov na interakciu so súborovým systémom v Node.js.

instagram viewer

Prečítajte si celý súbor naraz

The readFile() a readFileSync() príkazy z fs modul vám umožní čítať obsah súboru v Node.js. Rozdiel medzi týmito príkazmi je v tom readFileSync() je synchrónny – blokuje spustenie iného JavaScriptu – pričom readFile() je asynchrónny alebo neblokujúci.

Keďže čítanie súborov CSV môže chvíľu trvať, najmä v prípade veľkých súborov, je často lepšie použiť príkaz neblokovania, readFile(), ako je uvedené nižšie.

konšt fs = vyžadovať('fs');

fs.readFile('csvdemo.csv', 'utf8', funkcia (chyba, údaje) {
/* analyzovať údaje */
});

Ak nemáte vzorový súbor CSV, môžete si ho vygenerovať z mockaroo. Môžete sa tiež naučiť, ako na to vytvorte súbor CSV seba.

Prečítajte si riadok po riadku

Zatiaľ čo readFile() funguje, je náročný na pamäť, pretože načíta celý súbor CSV naraz. Toto je problém najmä pri práci s veľkými súbormi CSV. Alternatívou je čítať jeden riadok naraz pomocou fs.createReadStream() príkaz.

konšt fs = vyžadovať("fs");
konšt readline = vyžadovať("readline");
const stream = fs.createReadStream("./csvdemo.csv");
konšt rl = readline.createInterface({ vstup: Prúd });
nech údaje = [];

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

rl.on("Zavrieť", () => {
konzoly.log (údaje);
});

Tu odovzdávate názov súboru CSV fs.createReadStream() na vytvorenie čitateľného streamu. Prúdy vám umožňujú pracovať s veľkým množstvom údajov tým, že k nim máte prístup po častiach.

Po vytvorení čitateľného streamu ho odovzdajte readline.createInterface() metóda. The readline modul poskytuje rozhranie na čítanie údajov po jednom riadku. Teraz môžete vložiť každý riadok do dátového poľa počas jeho čítania.

Všimnite si však, že tento kód jednoducho rozdeľuje každý riadok na čiarky. Aj keď to bude fungovať s najzákladnejším súborom CSV, formát je v skutočnosti komplikovanejší, ako naznačuje jeho názov. Manuálna analýza súborov CSV nie je robustný prístup, najmä ak sami nemáte kontrolu nad údajmi. Vo väčšine situácií by ste mali použiť knižnicu CSV.

Pomocou fast-csv

Ak chcete spoľahlivo analyzovať súbory CSV, môžete použiť knižnicu ako rýchlo-csv, ktorý je dostupný ako balík npm. Uľahčuje nielen čítanie súborov CSV, ale aj ich formátovanie.

Ak chcete začať, inicializujte npm a nainštalovať rýchlo-csv.

npm init -y
npm a rýchlo-csv

Čítajte súbory CSV pomocou rýchleho csv nasledovne.

konšt fs = vyžadovať('fs')
konšt csv = vyžadovať('fast-csv');
konšt údaje = []

fs.createReadStream('./csvdemo.csv')
.rúra(csv.analyzovať({ hlavičky: pravda }))
.on('chyba', chyba => console.error (error))
.on('údajov', riadok => data.push (riadok))
.on('koniec', () => console.log (údaje));

Vo vyššie uvedenom kóde začnite vytvorením čitateľného streamu zo súboru CSV a potom ho pripojte k metóde analýzy z rýchleho CSV pomocou rúra(). Všimnite si, že odovzdávate možnosť hlavičky csv.parse(). Tým sa preskočí prvý riadok. Nastaviť hlavičky na falošné ak prvý riadok vášho súboru CSV neobsahuje hlavičky.

Keďže súbor CSV sa číta po jednom riadku, posúvate každý riadok do poľa údajov. Po prečítaní celého súboru môžete s obsahom dátového poľa manipulovať, ako chcete.

Existuje viac ako jeden spôsob analýzy CSV

Súbory CSV sú užitočné na ukladanie veľkých množín údajov, pretože je ľahké ich analyzovať. V Node.js môžete použiť vstavaný modul fs alebo balíčky NPM.

Používanie knižnice ako fast-csv je oveľa jednoduchšie a robustnejšie ako písanie vlastného kódu na analýzu manuálne. Niektoré ďalšie balíky na analýzu CSV sú csv-analyzátor a papa parser.

Príručka pre začiatočníkov k RESTful API v Node.js

Prečítajte si ďalej

zdieľamTweetujtezdieľamEmail

Súvisiace témy

  • Programovanie
  • Programovanie
  • JavaScript

O autorovi

Mary Gathoni (18 publikovaných článkov)

Mary Gathoni je softvérová vývojárka s vášňou pre vytváranie technického obsahu, ktorý je nielen informatívny, ale aj pútavý. Keď práve nekóduje alebo nepíše, rada sa stretáva s priateľmi a je vonku.

Viac od Mary Gathoni

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber