CSV-tiedostot ovat kätevä tietojen tallennusmuoto, ja voit käyttää niitä Node.js-projekteissasi käsitelläksesi mitä tahansa määrityksistä raakadataan. Ne voivat yksinkertaistaa tiedon jakamista kahden sovelluksen välillä, vaikka ne olisi kirjoitettu eri kielillä.
Node.js: ssä voit käyttää useita menetelmiä CSV-tiedostojen lukemiseen ja kirjoittamiseen.
Tämä opetusohjelma näyttää, kuinka voit käyttää fs moduuli ja nopea-csv NPM-paketti CSV-tiedostojen lukemiseen ja kirjoittamiseen.
Projektin asennus
Jotta voit jatkaa tätä opetusohjelmaa, varmista, että Node.js on asennettuna koneellesi. Suorita tämä komento tarkistaaksesi:
solmu -v
Sen pitäisi palauttaa versionumero. Jos sinulla ei ole Node.js: ää asennettuna, noudata tässä olevia ohjeita asennusohje tehdä niin.
Luo haluamaasi hakemistoon uusi kansio nimeltä parse-csv.
mkdir parse-csv
Navigoida johonkin parse-csv ja luo uusi tiedosto. Nimeä se parseCSV.js.
CD parse-csv
kosketusjäsentääCSV.js
Voit nyt aloittaa työskentelyn CSV: n kanssa.
fs-moduulin käyttäminen
Fs-moduuli (lyhenne sanoista tiedostojärjestelmä) sisältää useita komentoja vuorovaikutukseen Node.js: n tiedostojärjestelmän kanssa.
Lue koko tiedosto kerralla
The luetiedosto() ja readFileSync() komennot fs moduulin avulla voit lukea tiedoston sisältöä Node.js: ssä. Ero näiden komentojen välillä on se readFileSync() on synkroninen – se estää muita JavaScriptiä suorittamasta – samalla luetiedosto() on asynkroninen tai ei-esto.
Koska CSV-tiedostojen lukeminen voi viedä jonkin verran aikaa, varsinkin suurille tiedostoille, on usein parempi käyttää esto-komentoa, luetiedosto(), kuten alla.
konst fs = vaatia('fs');
fs.readFile('csvdemo.csv', 'utf8', function (err, data) {
/* jäsentää tiedot */
});
Jos sinulla ei ole malli-CSV-tiedostoa, voit luoda sellaisen tiedostosta mockaroo. Voit myös oppia kuinka luo CSV-tiedosto sinä itse.
Lue rivi riviltä
Sillä aikaa luetiedosto() toimii, se vaatii paljon muistia, koska se lukee koko CSV-tiedoston kerralla. Tämä on ongelma varsinkin käytettäessä suuria CSV-tiedostoja. Vaihtoehtona on lukea rivi kerrallaan käyttämällä fs.createReadStream() komento.
konst fs = vaatia("fs");
konst lukulinja = vaatia("Lue rivi");
const stream = fs.createReadStream("./csvdemo.csv");
konst rl = readline.createInterface({ syöttö: stream });
antaa data = [];rl.on("linja", (rivi) => {
data.push (row.split(","));
});
rl.on("kiinni", () => {
konsoli.log (data);
});
Tässä välität CSV-tiedostonimen osoitteeseen fs.createReadStream() luettavan streamin luomiseksi. Striimien avulla voit käsitellä suuria tietomääriä, koska voit käyttää sitä paloina.
Kun olet luonut luettavan streamin, välitä se käyttäjälle readline.createInterface() menetelmä. The Lue rivi moduuli tarjoaa käyttöliittymän tietojen lukemiseen rivi kerrallaan. Voit nyt työntää jokaisen rivin tietotaulukkoon sitä luettaessa.
Huomaa kuitenkin, että tämä koodi yksinkertaisesti jakaa jokaisen rivin pilkuilla. Vaikka tämä toimii yksinkertaisimman CSV-tiedoston kanssa, muoto on itse asiassa monimutkaisempi kuin sen nimi antaa ymmärtää. CSV-tiedostojen jäsentäminen manuaalisesti ei ole vankka lähestymistapa, varsinkin jos et itse hallitse tietoja. Useimmissa tilanteissa kannattaa käyttää CSV-kirjastoa.
Pika-csv: n käyttö
Voit jäsentää CSV-tiedostoja luotettavasti käyttämällä kirjastoa, kuten nopea-csv, joka on saatavana npm-pakettina. Se helpottaa paitsi CSV-tiedostojen lukemista myös niiden muotoilua.
Aloita alustamalla npm ja asenna nopea-csv.
npm init -y
npm ja pika-csv
Lue CSV-tiedostoja käyttämällä fast-csv: tä seuraavasti.
konst fs = vaatia('fs')
konst csv = vaatia('fast-csv');
konst data = []
fs.createReadStream('./csvdemo.csv')
.putki(csv.jäsentää({ otsikot: totta }))
.päällä('virhe', virhe => konsoli.error (virhe))
.päällä('tiedot', rivi => data.push (rivi))
.päällä('loppu', () => console.log (data));
Aloita yllä olevassa koodissa luomalla luettava stream CSV-tiedostosta ja yhdistä se sitten jäsennysmenetelmään nopeasta CSV: stä käyttämällä putki(). Huomaa, että välität otsikkovaihtoehdon csv.parse(). Tämä ohittaa ensimmäisen rivin. Aseta otsikot väärä jos CSV-tiedostosi ensimmäinen rivi ei sisällä otsikoita.
Koska CSV-tiedostoa luetaan rivi kerrallaan, työnnät jokaisen rivin tietotaulukkoon. Kun koko tiedosto on luettu, voit muokata tietotaulukon sisältöä haluamallasi tavalla.
CSV-tiedoston jäsentämiseen on enemmän kuin yksi tapa
CSV-tiedostot ovat hyödyllisiä suurten tietojoukkojen tallentamiseen, koska niitä on helppo jäsentää. Node.js: ssä voit käyttää sisäänrakennettua fs-moduulia tai NPM-paketteja.
Fast-csv: n kaltaisen kirjaston käyttäminen on paljon helpompaa ja tehokkaampaa kuin oman jäsennyskoodin kirjoittaminen manuaalisesti. Jotkut muut paketit CSV: n jäsentämiseen ovat csv-jäsennin ja papa jäsentäjä.
Aloittelijan opas RESTful-sovellusliittymiin Node.js: ssä
Lue Seuraava
Liittyvät aiheet
- Ohjelmointi
- Ohjelmointi
- JavaScript
Kirjailijasta
Mary Gathoni on ohjelmistokehittäjä, jonka intohimona on luoda teknistä sisältöä, joka ei ole vain informatiivinen, vaan myös mukaansatempaava. Kun hän ei koodaa tai kirjoita, hän nauttii ystävien kanssa olemisesta ja ulkoilusta.
tilaa uutiskirjeemme
Liity uutiskirjeemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia e-kirjoja ja eksklusiivisia tarjouksia!
Klikkaa tästä tilataksesi