A CSV-fájlok kényelmes adattárolási formátumot jelentenek, és a Node.js-projektekben használhatók a konfigurációtól a nyers adatokig bármi kezelésére. Leegyszerűsíthetik az információk megosztását két alkalmazás között, még akkor is, ha különböző nyelveken írták őket.

A Node.js-ben többféle módszert is használhat a CSV-fájlok olvasására és írására.

Ez az oktatóanyag bemutatja, hogyan kell használni a fs modul és gyors-csv NPM-csomag CSV-fájlok olvasásához és írásához.

Projekt beállítása

Az oktatóanyag követéséhez győződjön meg arról, hogy a Node.js telepítve van a gépén. Futtassa ezt a parancsot az ellenőrzéshez:

csomópont -v

Verziószámot kell visszaadnia. Ha nincs telepítve a Node.js, kövesse az ebben található utasításokat telepítési oktatóanyag hogy ezt tegye.

A kívánt könyvtárban hozzon létre egy új mappát parse-csv néven.

mkdir parse-csv

Navigáljon ide parse-csv és hozzon létre egy új fájlt. Nevezze el parseCSV.js-nek.

CD parse-csv
érintésparseCSV.js

Most már elkezdheti a munkát a CSV-vel.

Az fs modul használata

instagram viewer

Az fs (a fájlrendszer rövidítése) modul számos parancsot tartalmaz a Node.js fájlrendszerével való interakcióhoz.

Olvassa el az egész fájlt egyszerre

A readFile() és readFileSync() parancsokat a fs modul lehetővé teszi a Node.js fájl tartalmának olvasását. A különbség ezek között a parancsok között az readFileSync() szinkron – blokkolja más JavaScriptek végrehajtását –, miközben readFile() aszinkron vagy nem blokkoló.

Mivel a CSV-fájlok olvasása eltarthat egy ideig, különösen nagy fájlok esetén, ezért gyakran jobb a non-blocking parancs használata, readFile(), az alábbiak szerint.

const fs = igényelnek('fs');

fs.readFile('csvdemo.csv', 'utf8', function (err, data) {
/* adatok elemzése */
});

Ha nincs minta CSV-fájlja, létrehozhat egyet ebből mockaroo. Azt is megtanulhatod, hogyan kell hozzon létre egy CSV-fájlt saját magad.

Olvassa el soronként

Míg readFile() működik, memóriaigényes, mivel a teljes CSV-fájlt egyszerre olvassa be. Ez különösen akkor jelent problémát, ha nagy CSV-fájlokkal dolgozik. Egy másik lehetőség, hogy egy sort olvasson el a fs.createReadStream() parancs.

const fs = igényelnek("fs");
const readline = igényelnek("readline");
const stream = fs.createReadStream("./csvdemo.csv");
const rl = readline.createInterface({ bemenet: patak });
hagyja adat = [];

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

rl.on("Bezárás", () => {
konzol.log (adatok);
});

Itt átadja a CSV-fájl nevét fs.createReadStream() olvasható adatfolyam létrehozásához. Az adatfolyamok segítségével nagy mennyiségű adattal dolgozhat azáltal, hogy lehetővé teszi az adatokhoz való részletekben való hozzáférést.

Miután létrehozta az olvasható adatfolyamot, továbbítsa a következőnek readline.createInterface() módszer. A readline modul interfészt biztosít az adatok soronkénti olvasásához. Mostantól az egyes sorokat az adattömbbe tolhatja olvasás közben.

Ne feledje azonban, hogy ez a kód egyszerűen felosztja az egyes sorokat vesszővel. Bár ez a legalapvetőbb CSV-fájllal működik, a formátum valójában bonyolultabb, mint a neve sugallja. A CSV-fájlok kézi elemzése nem robusztus megközelítés, különösen akkor, ha nem Ön irányítja az adatokat. A legtöbb esetben CSV-könyvtárat kell használnia.

Gyors csv használata

A CSV-fájlok megbízható elemzéséhez használhat egy könyvtárat, például gyors-csv, amely npm csomagban érhető el. Ez megkönnyíti a CSV-fájlok olvasását, de formázását is.

A kezdéshez inicializálja npm és telepítse gyors-csv.

npm init -y
npm és gyors-csv

Olvassa el a CSV-fájlokat a fast-csv használatával az alábbiak szerint.

const fs = igényelnek('fs')
const csv = igényelnek('gyors-csv');
const adatok = []

fs.createReadStream('./csvdemo.csv')
.pipa(csv.elemzés({ fejlécek: igaz }))
.tovább('hiba', hiba => console.error (hiba))
.tovább('adat', sor => data.push (sor))
.tovább('vége', () => console.log (adatok));

A fenti kódban kezdje azzal, hogy hozzon létre egy olvasható adatfolyamot a CSV-fájlból, majd csatlakoztassa azt a gyors CSV-fájl elemzési módszeréhez. pipa(). Vegye figyelembe, hogy a fejlécek opciót továbbítja a következőnek csv.parse(). Ez kihagyja az első sort. Állítsa be a fejléceket hamis ha a CSV-fájl első sora nem tartalmaz fejléceket.

Mivel a CSV-fájlt egy-egy sor olvassa be, az egyes sorokat az adattömbbe tolja. A teljes fájl beolvasása után tetszés szerint módosíthatja az adattömb tartalmát.

Egynél több módszer létezik a CSV elemzésére

A CSV-fájlok hasznosak nagy adathalmazok tárolására, mert könnyű azokat elemezni. A Node.js-ben használhatja a beépített fs-modult vagy az NPM-csomagokat.

A gyors-csv-hez hasonló könyvtárak használata sokkal egyszerűbb és robusztusabb, mint a saját értelmező kód kézi írása. Néhány más csomag a CSV elemzéséhez csv-elemző és papa elemző.

Útmutató kezdőknek a RESTful API-khoz a Node.js-ben

Olvassa el a következőt

Ossza megCsipogOssza megEmail

Kapcsolódó témák

  • Programozás
  • Programozás
  • JavaScript

A szerzőről

Mária Gathoni (18 cikk megjelent)

Mary Gathoni egy szoftverfejlesztő, aki szenvedélyesen hoz létre olyan technikai tartalmat, amely nem csak informatív, hanem vonzó is. Amikor nem kódol vagy ír, szívesen lóg a barátaival és a szabadban van.

Továbbiak Mary Gathonitól

Iratkozzon fel hírlevelünkre

Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!

Kattintson ide az előfizetéshez