File CSV adalah format penyimpanan data yang nyaman, dan Anda dapat menggunakannya dalam proyek Node.js Anda untuk menangani apa pun mulai dari konfigurasi hingga data mentah. Mereka dapat menyederhanakan berbagi informasi antara dua aplikasi, meskipun ditulis dalam bahasa yang berbeda.

Di Node.js, Anda dapat menggunakan beberapa metode untuk membaca dan menulis file CSV.

Tutorial ini menunjukkan cara menggunakan fs modul dan cepat-csv Paket NPM untuk membaca dan menulis file CSV.

Pengaturan Proyek

Untuk mengikuti tutorial ini, pastikan Anda telah menginstal Node.js di mesin Anda. Jalankan perintah ini untuk memeriksa:

simpul -v

Itu harus mengembalikan nomor versi. Jika Anda belum menginstal Node.js, ikuti instruksi di sini tutorial instalasi untuk melakukannya.

Di direktori pilihan Anda, buat folder baru bernama parse-csv.

mkdir parse-csv

Navigasi ke parse-csv dan buat file baru. Beri nama parseCSV.js.

CD parse-csv
menyentuhmengurai CSV.js

Anda sekarang dapat mulai bekerja dengan CSV.

Menggunakan Modul fs

instagram viewer

Modul fs (singkatan dari sistem file) berisi beberapa perintah untuk berinteraksi dengan sistem file di Node.js.

Baca Seluruh File Sekaligus

Itu bacaFile() dan bacaFileSync() perintah dari fs modul memungkinkan Anda membaca konten file di Node.js. Perbedaan antara perintah ini adalah bahwa bacaFileSync() sinkron—itu memblokir JavaScript lain agar tidak dieksekusi—sementara bacaFile() adalah asinkron, atau non-blocking.

Karena membaca file CSV dapat memakan sedikit waktu, terutama untuk file besar, seringkali lebih baik menggunakan perintah non-blocking, bacaFile(), seperti yang ditunjukkan di bawah ini.

konstan fs = memerlukan('fs');

fs.readFile('csvdemo.csv', 'utf8', fungsi (err, data) {
/* mengurai data */
});

Jika Anda tidak memiliki contoh file CSV, Anda dapat membuatnya dari mockaroo. Anda juga dapat mempelajari caranya buat file CSV dirimu sendiri.

Baca Baris demi Baris

Ketika bacaFile() bekerja, ini intensif memori karena membaca seluruh file CSV sekaligus. Ini adalah masalah, terutama ketika bekerja dengan file CSV besar. Alternatifnya adalah membaca satu baris setiap kali menggunakan fs.createReadStream() memerintah.

konstan fs = memerlukan("f");
konstan garis baca = memerlukan("baris baca");
aliran const = fs.createReadStream("./csvdemo.csv");
konstan rl = readline.createInterface({ memasukkan: sungai kecil });
membiarkan data = [];

rl.on("garis", (baris) => {
data.push (baris.split(","));
});

rl.on("menutup", () => {
menghibur.log (data);
});

Di sini, Anda meneruskan nama file CSV ke fs.createReadStream() untuk membuat aliran yang dapat dibaca. Aliran memungkinkan Anda bekerja dengan data dalam jumlah besar dengan memungkinkan Anda mengaksesnya dalam potongan.

Setelah Anda membuat aliran yang dapat dibaca, berikan ke readline.createInterface() metode. Itu garis baca modul menyediakan antarmuka untuk membaca data satu baris pada satu waktu. Anda sekarang dapat mendorong setiap baris ke larik data saat sedang dibaca.

Namun, perhatikan bahwa kode ini hanya membagi setiap baris dengan koma. Meskipun ini akan bekerja dengan file CSV paling dasar, formatnya sebenarnya lebih rumit dari namanya. Mengurai file CSV secara manual bukanlah pendekatan yang kuat, terutama jika Anda tidak mengendalikan data itu sendiri. Untuk sebagian besar situasi, Anda harus menggunakan pustaka CSV.

Menggunakan fast-csv

Untuk mengurai file CSV dengan andal, Anda dapat menggunakan perpustakaan seperti cepat-csv, yang tersedia sebagai paket npm. Itu membuatnya lebih mudah untuk tidak hanya membaca file CSV tetapi juga memformatnya.

Untuk memulai, inisialisasi npm dan instal cepat-csv.

npm init -y
npm saya cepat-csv

Baca file CSV menggunakan fast-csv sebagai berikut.

konstan fs = memerlukan('fs')
konstan csv = memerlukan('csv-cepat');
konstan data = []

fs.createReadStream('./csvdemo.csv')
.pipa(csv.parse({ header: BENAR }))
.pada('kesalahan', kesalahan => console.error (kesalahan))
.pada('data', baris => data.push (baris))
.pada('akhir', () => console.log (data));

Pada kode di atas, mulailah dengan membuat aliran yang dapat dibaca dari file CSV kemudian hubungkan ke metode parse dari CSV cepat menggunakan pipa(). Perhatikan bahwa Anda meneruskan opsi tajuk ke csv.parse(). Ini melewatkan baris pertama. Setel tajuk ke Salah jika baris pertama file CSV Anda tidak berisi header.

Karena file CSV dibaca satu per satu, Anda mendorong setiap baris ke larik data. Setelah seluruh file dibaca, Anda dapat memanipulasi konten array data sesuai keinginan.

Ada Lebih dari Satu Cara untuk Mengurai CSV

File CSV berguna untuk menyimpan kumpulan data besar karena mudah untuk menguraikannya. Di Node.js, Anda dapat menggunakan modul fs bawaan atau paket NPM.

Menggunakan perpustakaan seperti fast-csv jauh lebih mudah, dan lebih kuat, daripada menulis kode penguraian Anda sendiri secara manual. Beberapa paket lain untuk mengurai CSV adalah csv-parser dan pengurai papa.

Panduan Pemula untuk RESTful API di Node.js

Baca Selanjutnya

MembagikanMenciakMembagikanSurel

Topik-topik yang berkaitan

  • Pemrograman
  • Pemrograman
  • JavaScript

Tentang Penulis

Mary Gathoni (18 Artikel Diterbitkan)

Mary Gathoni adalah pengembang perangkat lunak dengan hasrat untuk membuat konten teknis yang tidak hanya informatif tetapi juga menarik. Ketika dia tidak coding atau menulis, dia senang bergaul dengan teman-teman dan berada di luar ruangan.

More From Mary Gathoni

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan