تعد ملفات CSV تنسيقًا مناسبًا لتخزين البيانات ، ويمكنك استخدامها في مشاريع Node.js للتعامل مع أي شيء من التكوين إلى البيانات الأولية. يمكنهم تبسيط مشاركة المعلومات بين تطبيقين ، حتى لو كانت مكتوبة بلغات مختلفة.

في Node.js ، يمكنك استخدام عدة طرق لقراءة ملفات CSV وكتابتها.

يوضح لك هذا البرنامج التعليمي كيفية استخدام ملف خ وحدة و سريع csv حزمة NPM لقراءة وكتابة ملفات CSV.

إعداد مشروع

لمتابعة هذا البرنامج التعليمي ، تأكد من تثبيت Node.js على جهازك. قم بتشغيل هذا الأمر للتحقق:

عقدة الخامس

يجب أن يعيد رقم الإصدار. إذا لم يكن لديك Node.js مثبتًا ، فاتبع التعليمات الواردة في هذا تعليمي التثبيت لنفعل ذلك.

في دليلك المفضل ، قم بإنشاء مجلد جديد باسم parse-csv.

mkdir تحليل csv

انتقل إلى تحليل ملف CSV وإنشاء ملف جديد. سمها parseCSV.js.

قرص مضغوط تحليل ملف CSV
لمس. اتصال. صلةتحليل CSV.js

يمكنك الآن بدء العمل مع CSV.

استخدام وحدة fs

تحتوي الوحدة النمطية fs (اختصار لنظام الملفات) على عدة أوامر للتفاعل مع نظام الملفات في Node.js.

اقرأ الملف بالكامل مرة واحدة

ال إقرا الملف() و readFileSync () أوامر من خ الوحدة النمطية تمكنك من قراءة محتوى الملف في Node.js. الفرق بين هذه الأوامر هو أن

instagram viewer
readFileSync () متزامن — يمنع تنفيذ جافا سكريبت أخرى — أثناء إقرا الملف() غير متزامن أو غير محظور.

نظرًا لأن قراءة ملفات CSV يمكن أن تستغرق بعض الوقت ، خاصة بالنسبة للملفات الكبيرة ، فمن الأفضل غالبًا استخدام الأمر non-blocking ، إقرا الملف()، كما هو مبين أدناه.

مقدار ثابت خ = تطلب('fs') ؛

fs.readFile ('csvdemo.csv', 'utf8'، function (err، data) {
/ * تحليل البيانات * /
});

إذا لم يكن لديك نموذج ملف CSV ، فيمكنك إنشاء واحد من موكارو. يمكنك أيضا أن تتعلم كيف إنشاء ملف CSV نفسك.

قراءة سطرا بسطر

بينما إقرا الملف() يعمل ، فهو يستهلك ذاكرة كثيفة لأنه يقرأ ملف CSV بأكمله دفعة واحدة. هذه مشكلة ، خاصة عند العمل مع ملفات CSV كبيرة الحجم. البديل هو قراءة سطر واحد في كل مرة باستخدام fs.createReadStream () أمر.

مقدار ثابت خ = تطلب("fs") ؛
مقدار ثابت readline = تطلب("readline") ؛
تيار مستمر = fs.createReadStream ("./csvdemo.csv");
مقدار ثابت rl = readline.createInterface ({ إدخال: مجرى })؛
يترك البيانات = [] ؛

rl.on ("خط"، (صف) => {
data.push (row.split (","));
});

rl.on ("قريب", () => {
وحدة التحكم.تسجيل البيانات)؛
});

هنا ، تقوم بتمرير اسم ملف CSV إلى fs.createReadStream () لإنشاء دفق يمكن قراءته. تتيح لك التدفقات العمل مع كميات كبيرة من البيانات من خلال السماح لك بالوصول إليها على شكل أجزاء.

بمجرد إنشاء الدفق المقروء ، قم بتمريره إلى readline.createInterface () طريقة. ال قراءة توفر الوحدة النمطية واجهة لقراءة البيانات سطرًا واحدًا في كل مرة. يمكنك الآن دفع كل صف إلى مصفوفة البيانات أثناء قراءته.

لاحظ ، مع ذلك ، أن هذا الرمز يقسم كل صف على فواصل. على الرغم من أن هذا سيعمل مع ملف CSV الأساسي ، إلا أن التنسيق في الواقع أكثر تعقيدًا مما يوحي به اسمه. لا يعد تحليل ملفات CSV يدويًا أسلوبًا قويًا ، خاصةً إذا لم تكن أنت من تتحكم في البيانات. بالنسبة لمعظم المواقف ، يجب عليك استخدام مكتبة CSV.

باستخدام fast-csv

لتحليل ملفات CSV بشكل موثوق ، يمكنك استخدام مكتبة مثل سريع csv، والذي يتوفر كحزمة npm. فهو يسهل ليس فقط قراءة ملفات CSV ولكن أيضًا تنسيقها.

للبدء ، قم بالتهيئة npm وتثبيت سريع csv.

npm الحرف الأول
npm أنا سريع csv

اقرأ ملفات CSV باستخدام fast-csv على النحو التالي.

مقدار ثابت خ = تطلب('fs')
مقدار ثابت csv = تطلب('fast-csv') ؛
مقدار ثابت البيانات = []

fs.createReadStream ('./csvdemo.csv')
.يضخ(csv.parse({ رؤوس: حقيقي }))
.تشغيل('خطأ'، خطأ => خطأ وحدة التحكم (خطأ))
.تشغيل('البيانات'، صف => data.push (صف))
.تشغيل('نهاية', () => console.log (البيانات)) ؛

في الكود أعلاه ، ابدأ بإنشاء دفق قابل للقراءة من ملف CSV ثم قم بتوصيله بطريقة التحليل من ملف CSV السريع باستخدام يضخ(). لاحظ أنك تقوم بتمرير خيار الرؤوس إلى csv.parse (). هذا يتخطى الصف الأول. قم بتعيين الرؤوس على خاطئة إذا كان الصف الأول من ملف CSV لا يحتوي على رؤوس.

نظرًا لأن ملف CSV يُقرأ صفًا واحدًا في كل مرة ، فإنك تدفع كل صف إلى مصفوفة البيانات. بعد قراءة الملف بالكامل ، يمكنك معالجة محتويات مصفوفة البيانات بالشكل الذي تريده.

هناك أكثر من طريقة لتحليل ملف CSV

تعد ملفات CSV مفيدة لتخزين مجموعات البيانات الكبيرة لأنه من السهل تحليلها. في Node.js ، يمكنك استخدام وحدة fs المدمجة أو حزم NPM.

يعد استخدام مكتبة مثل fast-csv أسهل بكثير وأكثر قوة من كتابة كود التحليل الخاص بك يدويًا. بعض الحزم الأخرى لتحليل CSV هي محلل csv و محلل بابا.

دليل المبتدئين إلى RESTful APIs في Node.js

اقرأ التالي

شاركسقسقةشاركبريد الالكتروني

مواضيع ذات صلة

  • برمجة
  • برمجة
  • جافا سكريبت

نبذة عن الكاتب

ماري جاثوني (18 مقالة منشورة)

ماري جاثوني هي مطورة برامج لديها شغف لإنشاء محتوى تقني ليس إعلاميًا فحسب ، بل جذابًا أيضًا. عندما لا تقوم بالبرمجة أو الكتابة ، فإنها تستمتع بالتسكع مع الأصدقاء والتواجد في الهواء الطلق.

المزيد من Mary Gathoni

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك