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
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
Kapcsolódó témák
- Programozás
- Programozás
- JavaScript
A szerzőről
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.
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