CSV faili ir ērts datu glabāšanas formāts, un tos varat izmantot savos Node.js projektos, lai apstrādātu jebko, sākot no konfigurācijas līdz neapstrādātiem datiem. Tie var vienkāršot informācijas apmaiņu starp divām lietotnēm, pat ja tās ir rakstītas dažādās valodās.
Vietnē Node.js varat izmantot vairākas metodes, lai lasītu un rakstītu CSV failus.
Šī apmācība parāda, kā izmantot fs modulis un ātri-csv NPM pakotne CSV failu lasīšanai un rakstīšanai.
Projekta iestatīšana
Lai turpinātu šo apmācību, pārliecinieties, vai jūsu datorā ir instalēts Node.js. Palaidiet šo komandu, lai pārbaudītu:
mezgls -v
Tam vajadzētu atgriezt versijas numuru. Ja jums nav instalēts Node.js, izpildiet šajā sadaļā sniegtos norādījumus uzstādīšanas apmācība darīt tā.
Vēlamajā direktorijā izveidojiet jaunu mapi ar nosaukumu parse-csv.
mkdir parse-csv
Dodieties uz parse-csv un izveidojiet jaunu failu. Nosauciet to parseCSV.js.
cd parse-csv
pieskartiesparseCSV.js
Tagad varat sākt strādāt ar CSV.
Izmantojot fs moduli
Modulis fs (saīsinājums no faila sistēmas) satur vairākas komandas mijiedarbībai ar failu sistēmu Node.js.
Izlasiet visu failu uzreiz
The lasīt failu () un readFileSync() komandas no fs modulis ļauj lasīt faila saturu pakalpojumā Node.js. Atšķirība starp šīm komandām ir tāda readFileSync() ir sinhrons — tas bloķē citu JavaScript izpildi — vienlaikus lasīt failu () ir asinhrona vai nebloķējoša.
Tā kā CSV failu lasīšana var aizņemt nedaudz laika, īpaši lieliem failiem, bieži vien ir labāk izmantot komandu nebloķēšana, lasīt failu (), kā parādīts zemāk.
konst fs = pieprasīt('fs');
fs.readFile('csvdemo.csv', 'utf8', funkcija (kļūda, dati) {
/* parsēt datus */
});
Ja jums nav CSV faila parauga, varat to ģenerēt no mockaroo. Varat arī uzzināt, kā izveidot CSV failu sevi.
Lasiet rindiņu pa rindiņai
Kamēr lasīt failu () darbojas, tas aizņem daudz atmiņas, jo nolasa visu CSV failu uzreiz. Tā ir problēma, īpaši strādājot ar lieliem CSV failiem. Alternatīva ir lasīt pa vienai rindiņai, izmantojot fs.createReadStream() komandu.
konst fs = pieprasīt("fs");
konst readline = pieprasīt("readline");
const straume = fs.createReadStream("./csvdemo.csv");
konst rl = readline.createInterface({ ievade: straume });
ļaut dati = [];rl.on("līnija", (rinda) => {
data.push (row.split(","));
});
rl.on("aizveriet", () => {
konsole.log (dati);
});
Šeit jūs nosūtāt CSV faila nosaukumu uz fs.createReadStream() lai izveidotu lasāmu straumi. Straumes ļauj strādāt ar lielu datu apjomu, ļaujot tiem piekļūt pa daļām.
Kad esat izveidojis lasāmu straumi, nosūtiet to uz readline.createInterface() metodi. The lasāmrinda modulis nodrošina saskarni datu nolasīšanai pa vienai rindai. Tagad katru rindu varat virzīt uz datu masīvu, kamēr tā tiek nolasīta.
Tomēr ņemiet vērā, ka šis kods katru rindu vienkārši sadala ar komatiem. Lai gan tas darbosies ar visvienkāršāko CSV failu, formāts patiesībā ir sarežģītāks, nekā norāda tā nosaukums. CSV failu manuāla parsēšana nav uzticama pieeja, it īpaši, ja jūs pats nekontrolējat datus. Vairumā gadījumu jums vajadzētu izmantot CSV bibliotēku.
Izmantojot ātro csv
Lai droši parsētu CSV failus, varat izmantot bibliotēku, piemēram, ātri-csv, kas ir pieejams kā npm pakotne. Tas atvieglo ne tikai CSV failu lasīšanu, bet arī to formatēšanu.
Lai sāktu, inicializējiet npm un instalēt ātri-csv.
npm init -y
npm i fast-csv
Lasiet CSV failus, izmantojot ātro-csv, kā norādīts tālāk.
konst fs = pieprasīt('fs')
konst csv = pieprasīt('fast-csv');
konst dati = []
fs.createReadStream('./csvdemo.csv')
.caurule(csv.parsēt({ galvenes: taisnība }))
.on('kļūda', kļūda => console.error (kļūda))
.on('datus', rinda => data.push (rinda))
.on('beigas', () => console.log (dati));
Iepriekš minētajā kodā vispirms izveidojiet lasāmu straumi no CSV faila, pēc tam pievienojiet to parsēšanas metodei no ātrā CSV, izmantojot caurule (). Ņemiet vērā, ka jūs nododat galvenes opciju csv.parse(). Tādējādi tiek izlaista pirmā rinda. Iestatīt galvenes uz viltus ja jūsu CSV faila pirmajā rindā nav galvenes.
Tā kā CSV fails tiek lasīts pa vienai rindai, katra rinda tiek virzīta uz datu masīvu. Kad viss fails ir izlasīts, varat manipulēt ar datu masīva saturu, kā vēlaties.
Ir vairāk nekā viens veids, kā parsēt CSV
CSV faili ir noderīgi lielu datu kopu glabāšanai, jo tos ir viegli parsēt. Vietnē Node.js varat izmantot iebūvēto fs moduli vai NPM pakotnes.
Bibliotēkas, piemēram, ātrās-csv, izmantošana ir daudz vienkāršāka un izturīgāka nekā manuāla parsēšanas koda rakstīšana. Dažas citas pakotnes CSV parsēšanai ir csv-parsētājs un papa parsētājs.
Rokasgrāmata iesācējiem par RESTful API vietnē Node.js
Lasiet Tālāk
Saistītās tēmas
- Programmēšana
- Programmēšana
- JavaScript
Par autoru
Mary Gathoni ir programmatūras izstrādātāja, kuras aizraušanās ir tāda tehniska satura izveide, kas ir ne tikai informatīvs, bet arī saistošs. Kad viņa nekodē vai neraksta, viņai patīk pavadīt laiku ar draugiem un būt ārā.
Abonējiet mūsu biļetenu
Pievienojieties mūsu informatīvajam izdevumam, lai saņemtu tehniskos padomus, pārskatus, bezmaksas e-grāmatas un ekskluzīvus piedāvājumus!
Noklikšķiniet šeit, lai abonētu