Soubory CSV jsou vhodným formátem pro ukládání dat a můžete je použít ve svých projektech Node.js ke zpracování čehokoli od konfigurace až po nezpracovaná data. Mohou zjednodušit sdílení informací mezi dvěma aplikacemi, i když jsou napsané v různých jazycích.

V Node.js můžete ke čtení a zápisu souborů CSV použít několik metod.

Tento tutoriál vám ukáže, jak používat fs modul a rychle-csv Balíček NPM pro čtení a zápis souborů CSV.

Nastavení projektu

Chcete-li pokračovat v tomto tutoriálu, ujistěte se, že máte na svém počítači nainstalovaný soubor Node.js. Spusťte tento příkaz a zkontrolujte:

uzel -v

Mělo by vrátit číslo verze. Pokud nemáte nainstalovaný Node.js, postupujte podle pokynů v tomto instalační návod udělat to tak.

V preferovaném adresáři vytvořte novou složku s názvem parse-csv.

mkdir parse-csv

Navigovat do parse-csv a vytvořte nový soubor. Pojmenujte jej parseCSV.js.

CD parse-csv
dotekparseCSV.js

Nyní můžete začít pracovat s CSV.

Pomocí modulu fs

Modul fs (zkratka pro souborový systém) obsahuje několik příkazů pro interakci se systémem souborů v Node.js.

instagram viewer

Přečtěte si celý soubor najednou

The readFile() a readFileSync() příkazy z fs modul vám umožní číst obsah souboru v Node.js. Rozdíl mezi těmito příkazy je v tom readFileSync() je synchronní – blokuje spouštění jiného JavaScriptu – zatímco readFile() je asynchronní nebo neblokující.

Protože čtení souborů CSV může trvat trochu času, zejména u velkých souborů, je často lepší použít příkaz neblokování, readFile(), Jak je ukázáno níže.

konst fs = vyžadovat('fs');

fs.readFile('csvdemo.csv', 'utf8', funkce (chyba, data) {
/* analyzovat data */
});

Pokud nemáte vzorový soubor CSV, můžete si jej vygenerovat mockaroo. Můžete se také naučit, jak na to vytvořit soubor CSV vy sám.

Přečtěte si řádek po řádku

Zatímco readFile() funguje, je náročný na paměť, protože čte celý soubor CSV najednou. To je problém zejména při práci s velkými soubory CSV. Alternativou je číst jeden řádek po druhém pomocí fs.createReadStream() příkaz.

konst fs = vyžadovat("fs");
konst readline = vyžadovat("readline");
const stream = fs.createReadStream("./csvdemo.csv");
konst rl = readline.createInterface({ vstup: stream });
nechat data = [];

rl.on("čára", (řádek) => {
data.push (row.split(","));
});

rl.on("zavřít", () => {
řídicí panel.log (data);
});

Zde předáváte název souboru CSV fs.createReadStream() vytvořit čitelný stream. Streamy vám umožňují pracovat s velkým množstvím dat tím, že k nim máte přístup po částech.

Jakmile vytvoříte čitelný stream, předejte jej readline.createInterface() metoda. The readline modul poskytuje rozhraní pro čtení dat jeden řádek po druhém. Nyní můžete vložit každý řádek do datového pole, když se čte.

Všimněte si však, že tento kód jednoduše rozděluje každý řádek na čárky. Ačkoli to bude fungovat s nejzákladnějším souborem CSV, formát je ve skutečnosti složitější, než jeho název napovídá. Ruční analýza souborů CSV není robustní přístup, zvláště pokud nemáte nad daty kontrolu vy sami. Ve většině situací byste měli použít knihovnu CSV.

Pomocí fast-csv

Chcete-li spolehlivě analyzovat soubory CSV, můžete použít knihovnu jako rychle-csv, který je k dispozici jako balíček npm. Usnadňuje nejen čtení souborů CSV, ale také jejich formátování.

Chcete-li začít, inicializujte npm a nainstalovat rychle-csv.

npm init -y
npm i rychle-csv

Čtěte soubory CSV pomocí fast-csv následovně.

konst fs = vyžadovat('fs')
konst csv = vyžadovat('fast-csv');
konst data = []

fs.createReadStream('./csvdemo.csv')
.trubka(csv.analyzovat({ hlavičky: skutečný }))
.na('chyba', chyba => console.error (chyba))
.na('data', řádek => data.push (řádek))
.na('konec', () => console.log (data));

Ve výše uvedeném kódu začněte vytvořením čitelného streamu ze souboru CSV a poté jej připojte k metodě analýzy z rychlého CSV pomocí trubka(). Všimněte si, že předáváte možnost záhlaví csv.parse(). Tím se přeskočí první řada. Nastavit záhlaví na Nepravdivé pokud první řádek vašeho souboru CSV neobsahuje záhlaví.

Protože se soubor CSV čte po jednom řádku, přesunete každý řádek do pole dat. Po přečtení celého souboru můžete s obsahem datového pole manipulovat, jak chcete.

Existuje více než jeden způsob, jak analyzovat CSV

Soubory CSV jsou užitečné pro ukládání velkých souborů dat, protože je snadné je analyzovat. V Node.js můžete použít vestavěný modul fs nebo balíčky NPM.

Použití knihovny, jako je fast-csv, je mnohem jednodušší a robustnější než ruční psaní vlastního kódu pro analýzu. Některé další balíčky pro analýzu CSV jsou csv-analyzátor a papa parser.

Průvodce RESTful API pro začátečníky v Node.js

Přečtěte si další

PodíltweetPodílE-mailem

Související témata

  • Programování
  • Programování
  • JavaScript

O autorovi

Mary Gathoni (18 publikovaných článků)

Mary Gathoni je vývojář softwaru s vášní pro vytváření technického obsahu, který je nejen informativní, ale také poutavý. Když nekóduje nebo nepíše, ráda se poflakuje s přáteli a je venku.

Více od Mary Gathoni

Přihlaste se k odběru našeho newsletteru

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!

Chcete-li se přihlásit k odběru, klikněte sem