קובצי CSV הם פורמט נוח לאחסון נתונים, ואתה יכול להשתמש בהם בפרויקטים של Node.js כדי לטפל בכל דבר, החל מתצורה ועד נתונים גולמיים. הם יכולים לפשט את שיתוף המידע בין שתי אפליקציות, גם אם הן כתובות בשפות שונות.
ב-Node.js, אתה יכול להשתמש במספר שיטות כדי לקרוא ולכתוב קבצי CSV.
מדריך זה מראה לך כיצד להשתמש ב- fs מודול ו מהיר-csv חבילת NPM לקריאה וכתיבה של קבצי CSV.
הגדרת פרויקט
כדי לעקוב אחר המדריך הזה, ודא שיש לך את Node.js מותקן במחשב שלך. הפעל את הפקודה הזו כדי לבדוק:
node -v
זה אמור להחזיר מספר גרסה. אם אין לך את Node.js מותקן, עקוב אחר ההוראות כאן הדרכה להתקנה לעשות זאת.
בספרייה המועדפת עליך, צור תיקייה חדשה בשם parse-csv.
mkdir parse-csv
נווט אל parse-csv וליצור קובץ חדש. תן לזה שם parseCSV.js.
CD parse-csv
לגעתparseCSV.js
כעת תוכל להתחיל לעבוד עם CSV.
שימוש במודול fs
המודול fs (קיצור של מערכת קבצים) מכיל מספר פקודות לאינטראקציה עם מערכת הקבצים ב-Node.js.
קרא את כל הקובץ בבת אחת
ה readFile() ו readFileSync() פקודות מה fs מודול מאפשר לך לקרוא את תוכן הקובץ ב-Node.js. ההבדל בין הפקודות הללו הוא זה readFileSync()
הוא סינכרוני - הוא חוסם JavaScript אחר מביצוע - תוך כדי readFile() הוא אסינכרוני, או לא חוסם.מכיוון שקריאת קבצי CSV יכולה לקחת קצת זמן, במיוחד עבור קבצים גדולים, לרוב עדיף להשתמש בפקודה הבלתי חוסמת, readFile(), כפי שמוצג מטה.
const fs = לִדרוֹשׁ('fs');
fs.readFile('csvdemo.csv', 'utf8', function (שגיאה, נתונים) {
/* נתח נתונים */
});
אם אין לך קובץ CSV לדוגמה, אתה יכול ליצור אחד ממנו מוקארו. אתה יכול גם ללמוד איך לעשות ליצור קובץ CSV עַצמְךָ.
קרא שורה אחר שורה
בזמן readFile() עובד, הוא עתיר זיכרון מכיוון שהוא קורא את כל קובץ ה-CSV בבת אחת. זו בעיה, במיוחד כאשר עובדים עם קבצי CSV גדולים. חלופה היא לקרוא שורה אחת בכל פעם באמצעות ה fs.createReadStream() פקודה.
const fs = לִדרוֹשׁ("fs");
const readline = לִדרוֹשׁ("קריאת שורה");
const stream = fs.createReadStream("./csvdemo.csv");
const rl = readline.createInterface({ קֶלֶט: זרם });
תן נתונים = [];rl.on("קַו", (שורה) => {
data.push (row.split(","));
});
rl.on("סגור", () => {
לְנַחֵם.log (נתונים);
});
כאן אתה מעביר את שם קובץ ה-CSV אל fs.createReadStream() כדי ליצור זרם קריא. זרמים מאפשרים לך לעבוד עם כמויות גדולות של נתונים בכך שהם מאפשרים לך לגשת אליהם בחתיכות.
לאחר שתיצור את הזרם הקריא, העבר אותו אל readline.createInterface() שיטה. ה קריאת שורה מודול מספק ממשק לקריאת הנתונים שורה אחת בכל פעם. כעת תוכל לדחוף כל שורה למערך הנתונים תוך כדי הקריאה.
שים לב, עם זאת, הקוד הזה פשוט מפצל כל שורה בפסיקים. למרות שזה יעבוד עם קובץ ה-CSV הבסיסי ביותר, הפורמט למעשה מסובך יותר ממה שהשם שלו מרמז. ניתוח קבצי CSV באופן ידני אינו גישה חזקה, במיוחד אם אינך שולט בנתונים בעצמך. ברוב המצבים, עליך להשתמש בספריית CSV.
שימוש ב-fast-csv
כדי לנתח קבצי CSV בצורה מהימנה, אתה יכול להשתמש בספרייה כמו מהיר-csv, שזמינה כחבילת npm. זה מקל לא רק לקרוא קבצי CSV אלא גם לעצב אותם.
כדי להתחיל, אתחול npm ולהתקין מהיר-csv.
npm init -y
npm i fast-csv
קרא קבצי CSV באמצעות Fast-CSV באופן הבא.
const fs = לִדרוֹשׁ('fs')
const csv = לִדרוֹשׁ('fast-csv');
const נתונים = []
fs.createReadStream('./csvdemo.csv')
.צינור(csv.לְנַתֵחַ({ כותרות: נכון }))
.עַל('שְׁגִיאָה', שגיאה => console.error (שגיאה))
.עַל('נתונים', שורה => data.push (שורה))
.עַל('סוֹף', () => console.log (נתונים));
בקוד שלמעלה, התחל ביצירת זרם קריא מקובץ ה-CSV ואז חבר אותו לשיטת הניתוח מ-CSV מהיר באמצעות צינור(). שימו לב שאתם מעבירים את אפשרות הכותרות אל csv.parse(). זה מדלג על השורה הראשונה. הגדר כותרות ל שֶׁקֶר אם השורה הראשונה של קובץ ה-CSV שלך אינה מכילה כותרות.
מכיוון שקובץ ה-CSV נקרא שורה אחת בכל פעם, אתה דוחף כל שורה למערך הנתונים. לאחר קריאת הקובץ כולו, תוכל לתפעל את התוכן של מערך הנתונים כרצונך.
יש יותר מדרך אחת לנתח CSV
קובצי CSV שימושיים לאחסון מערכי נתונים גדולים מכיוון שקל לנתח אותם. ב-Node.js, אתה יכול להשתמש במודול fs המובנה או בחבילות NPM.
השימוש בספריה כמו fast-csv הוא הרבה יותר קל וחזק יותר מאשר כתיבת קוד הניתוח שלך באופן ידני. כמה חבילות אחרות לניתוח CSV הן csv-parser ו מנתח אבא.
מדריך למתחילים לממשקי API של RESTful ב-Node.js
קרא הבא
נושאים קשורים
- תִכנוּת
- תִכנוּת
- JavaScript
על הסופר
מרי גאתוני היא מפתחת תוכנה עם תשוקה ליצור תוכן טכני שהוא לא רק אינפורמטיבי אלא גם מרתק. כשהיא לא מקודדת או כותבת, היא נהנית לבלות עם חברים ולהיות בחוץ.
הירשם לניוזלטר שלנו
הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!
לחץ כאן כדי להירשם