קרא את קובץ ה-CSV ב-Bash

Qr T Qwbz H Csv B Bash



הצורה המלאה של CSV היא ערך מופרד בפסיק. קובץ ה-CSV משמש את הקודן למטרות רבות המאחסנות את הנתונים בפורמט טבלאי של מבנים למחצה. כל שורה בקובץ מטופלת כשורה של הטבלה וכל שדה בשורה מופרד בפסיק (,) בקובץ ה-CSV. קיימות דרכים רבות ב-Bash לקריאת קבצי ה-CSV אשר מוסברים במדריך זה.

דרישות קדם:

עליך ליצור קובץ CSV לפני שתתרגל את הדוגמה של מדריך זה. צור קובץ CSV בשם 'customers.csv' עם התוכן הבא כדי לבדוק את הפלט של הסקריפט שבו נעשה שימוש במדריך זה. בקובץ זה, ה-3 מחקר ופיתוח שדות של 4 ה' קו ו-6 ה' הקו ריקים.

מזהה, שם, דואר אלקטרוני, כתובת, נייד

101 , ג'עפר איקבל, ג'עפר @ gmail.com, 9 / A Dhanmondi Dhaka, + 8801762341425

102 , כמאל חוסיין, כמאל @ gmail.com, 120 מירפור דאקה, 8801988675345

103 נירוב צ'ודהורי 33 / 2 ג'יגאטולה דאקה, 8801754532312

104 פרהין חסן @ gmail.com < א href = 'רֵיק' > , א > 10 קדהלבגון דאקה, + 8801512875634

105 , Md. רחים,, 2 / B Dhanmondi Dhaka, + 8801700453423

דרכים שונות לקרוא את קובץ ה-CSV ב-Bash

ניתן לנתח את קובץ ה-CSV בדרכים שונות באמצעות סקריפט Bash. דרכים שונות לקרוא את הקובץ 'customers.csv' מוצגות בחלק זה של המדריך.







דוגמה 1: קרא את התוכן המקורי של קובץ ה-CSV

צור קובץ Bash עם הסקריפט הבא שקורא את התוכן המלא של קובץ 'customers.csv' באמצעות לולאת 'while':



#!/bin/bash

#הגדר את שם הקובץ

שם קובץ = 'customers.csv'

#קרא כל שורה בקובץ בכל איטרציה

בזמן לקרוא נתונים

לַעֲשׂוֹת

#הדפס את השורה

הֵד $data

בוצע < $filename

הפלט הבא מופיע לאחר ביצוע הסקריפט:







דוגמה 2: קרא את קובץ ה-CSV על ידי שימוש באותיות רישיות בכותרת

השורה הראשונה של קובץ 'customers.csv' מכילה את כותרת הקובץ. צור קובץ Bash עם הסקריפט הבא שמדפיס את תוכן הקובץ 'customers.csv' לאחר שימוש באותיות רישיות בשורה הראשונה של הקובץ. הפקודה 'awk' משמשת בסקריפט כדי להדפיס את תוכן הקובץ לאחר שימוש באותיות רישיות בכותרת. הפסיק(,) מוקצה בערכי FS ו-OFS בסקריפט כדי לקרוא את הקובץ 'customers.csv' ולכתוב את הקובץ 'updatedcustomers.csv'. הפקודה 'חתול' משמשת להדפסת התוכן של שני הקבצים.

printf 'קובץ מקורי: \n '

#הדפס את התוכן המקורי של קובץ ה-CSV

חתול cstomers.csv

#צור קובץ CSV חדש לאחר שימוש באותיות רישיות בכותרת

מביך 'BEGIN{FS=',';OFS=','}

{

if(NR==1)

print toper($0)

אַחֵר

הדפס

}'
customers.csv > updatedcustomers.csv

printf ' \n קובץ שונה: \n '

#הדפס את קובץ ה-CSV החדש

חתול updatedcustomers.csv

הפלט הבא מופיע לאחר ביצוע הסקריפט:



דוגמה 3: החלף את השדה הריק של קובץ ה-CSV ב'ללא'

צור קובץ Bash עם הסקריפט הבא שמדפיס את התוכן של הקובץ 'customers.csv' לאחר שינוי השדה הריק עם הערך 'None'. שני שדות ריקים בקובץ זה המוזכרים להלן. הפקודה 'awk' משמשת בסקריפט כדי להדפיס את תוכן הקובץ לאחר שינוי השדות הריקים. הפסיק(,) מוקצה בערכי FS ו-OFS בסקריפט כדי לקרוא את הקובץ 'customers.csv' ולכתוב את הקובץ 'updatedcustomers.csv'. הפקודה 'חתול' משמשת להדפסת התוכן של שני הקבצים בפורמט הטבלה.

printf 'קובץ מקורי: \n '

#הדפס את התוכן המקורי של קובץ ה-CSV בצורה טבלה

חתול customers.csv | עמודות -ים,

מביך 'BEGIN{FS=',';OFS=','}

{

for(field=1;field<=NF;field++)

{

if($field == '') $field='None'

}

הדפס

}'
customers.csv > modifiedcustomers2.csv

printf ' \n קובץ שונה: \n '

#הדפס את קובץ ה-CSV החדש בצורה טבלה

חתול modifiedcustomers2.csv | עמודות -ים,

הפלט הבא מופיע לאחר ביצוע הסקריפט:

דוגמה 4: הדפס את המספר הכולל של שורות ועמודות של קובץ ה-CSV

צור קובץ Bash עם הסקריפט הבא שסופר את המספר הכולל של שורות ועמודות בקובץ 'customers.csv'. המשתנה NR משמש להדפסת המספר הכולל של שורות הקובץ. המשתנה NF משמש להדפסת המספר הכולל של השדות של הקובץ.

printf 'קובץ מקורי: \n '

#הדפס את התוכן המקורי של קובץ ה-CSV

חתול customers.csv

הֵד

הֵד 'סה'כ שורות:'

מביך -ו, 'END{print NR}' customers.csv

הֵד 'סה'כ עמודות:'

מביך -ו, 'END{print NF}' customers.csv

הפלט הבא מופיע לאחר ביצוע הסקריפט. סך השורות בקובץ הוא 6 וסך השדות של הקובץ הוא 5 אשר מודפסים בפלט:

סיכום

השיטות לקריאת קובץ CSV, שינוי קובץ ה-CSV וספירת השורות והעמודות של קובץ ה-CSV באמצעות סקריפט Bash מוצגות במדריך זה.