اقرأ ملف CSV في Bash

Aqra Mlf Csv Fy Bash



الشكل الكامل لملف CSV هو قيمة مفصولة بفواصل. يستخدم المبرمج ملف CSV للعديد من الأغراض التي تخزن البيانات في تنسيق جدولي شبه هياكل. يتم التعامل مع كل سطر من الملف كصف من الجدول ويتم فصل كل حقل من حقول الصف بفاصلة (،) في ملف CSV. توجد طرق عديدة في Bash لقراءة ملفات CSV الموضحة في هذا البرنامج التعليمي.

المتطلبات الأساسية:

يجب عليك إنشاء ملف CSV قبل التدرب على مثال هذا البرنامج التعليمي. قم بإنشاء ملف CSV باسم 'customers.csv' بالمحتوى التالي للتحقق من إخراج البرنامج النصي المستخدم في هذا البرنامج التعليمي. في هذا الملف ، 3 بحث وتطوير حقول 4 ذ خط و 6 ذ السطر فارغ.

المعرف والاسم والبريد الإلكتروني والعنوان والجوال

101 جعفر اقبال جعفر @ gmail.com ، 9 / A Dhanmondi دكا ، + 8801762341425

102 , Kamal Hossain, kamal @ gmail.com ، 120 ميربور دكا ، 8801988675345

103 نيروب شودري 33 / 2 جيغاتولا دكا ، 8801754532312

104 فرحين حسن @ gmail.com < أ href = 'فارغ' > و أ > 10 Kadhalbagun دكا ، + 8801512875634

105 , Md. Rahim,, 2 / B Dhanmondi دكا ، + 8801700453423

طرق مختلفة لقراءة ملف CSV في Bash

يمكن تحليل ملف CSV بطرق مختلفة باستخدام برنامج نصي Bash. يتم عرض طرق مختلفة لقراءة ملف 'customers.csv' في هذا الجزء من البرنامج التعليمي.







مثال 1: اقرأ المحتوى الأصلي لملف CSV

قم بإنشاء ملف Bash بالبرنامج النصي التالي الذي يقرأ المحتوى الكامل لملف 'customers.csv' باستخدام الحلقة 'while':



#! / بن / باش

# تعيين اسم الملف

اسم الملف = 'customers.csv'

# اقرأ كل سطر من الملف في كل تكرار

بينما يقرأ بيانات

يفعل

# طباعة الخط

صدى صوت بيانات دولار

منتهي < اسم الملف $

يظهر الناتج التالي بعد تنفيذ البرنامج النصي:







مثال 2: اقرأ ملف CSV عن طريق تكبير رأس الصفحة

يحتوي السطر الأول من ملف 'customers.csv' على عنوان الملف. قم بإنشاء ملف Bash بالبرنامج النصي التالي الذي يطبع محتوى ملف 'customers.csv' بعد كتابة السطر الأول من الملف بأحرف كبيرة. يتم استخدام الأمر 'awk' في البرنامج النصي لطباعة محتوى الملف بعد كتابة الرأس بالأحرف الكبيرة. يتم تعيين الفاصلة (،) في قيم FS و OFS في البرنامج النصي لقراءة ملف 'customers.csv' وكتابة ملف 'updatedcustomers.csv'. يتم استخدام الأمر 'cat' لطباعة محتوى كلا الملفين.

printf 'الملف الأصلي: '

# طباعة المحتوى الأصلي لملف CSV

قطة cstomers.csv

#Create ملف CSV جديد بعد كتابة العنوان بالأحرف الكبيرة

awk 'BEGIN {FS = '،'؛ OFS = '،'}

{

إذا (NR == 1)

طباعة العلبة (0 دولار)

آخر

مطبعة

} '
customers.csv > updatedcustomers.csv

printf ' ملف معدل: '

# طباعة ملف CSV الجديد

قطة updatedcustomers.csv

يظهر الناتج التالي بعد تنفيذ البرنامج النصي:



مثال 3: استبدل الحقل الفارغ لملف CSV بـ 'بلا'

قم بإنشاء ملف Bash بالبرنامج النصي التالي الذي يطبع محتوى ملف 'customers.csv' بعد تعديل الحقل الفارغ بقيمة 'None'. حقلان فارغان في هذا الملف مذكوران فيما يلي. يتم استخدام الأمر 'awk' في البرنامج النصي لطباعة محتوى الملف بعد تعديل الحقول الفارغة. يتم تعيين الفاصلة (،) في قيم FS و OFS في البرنامج النصي لقراءة ملف 'customers.csv' وكتابة ملف 'updatedcustomers.csv'. يتم استخدام الأمر 'cat' لطباعة محتوى كلا الملفين بتنسيق جدولي.

printf 'الملف الأصلي: '

# طباعة المحتوى الأصلي لملف CSV في شكل جدول

قطة customers.csv | الأعمدة ، -t

awk 'BEGIN {FS = '،'؛ OFS = '،'}

{

لـ (الحقل = 1 ؛ الحقل <= NF ؛ الحقل ++)

{

إذا ($ field == '') $ field = 'بلا'

}

مطبعة

} '
customers.csv > modedcustomers2.csv

printf ' ملف معدل: '

# اطبع ملف CSV الجديد في شكل جدول

قطة modedcustomers2.csv | الأعمدة ، -t

يظهر الناتج التالي بعد تنفيذ البرنامج النصي:

مثال 4: اطبع العدد الإجمالي للصفوف والأعمدة في ملف CSV

قم بإنشاء ملف Bash بالبرنامج النصي التالي الذي يحسب العدد الإجمالي للصفوف والأعمدة في ملف 'customers.csv'. يستخدم المتغير NR لطباعة العدد الإجمالي لصفوف الملف. يتم استخدام متغير NF لطباعة العدد الإجمالي لحقول الملف.

printf 'الملف الأصلي: '

# طباعة المحتوى الأصلي لملف CSV

قطة customers.csv

صدى صوت

صدى صوت 'إجمالي الصفوف:'

awk -F، 'END {print NR}' customers.csv

صدى صوت 'إجمالي الأعمدة:'

awk -F، 'END {print NF}' customers.csv

يظهر الإخراج التالي بعد تنفيذ البرنامج النصي. إجمالي الأسطر في الملف هو 6 ومجموع حقول الملف هي 5 والتي تمت طباعتها في الإخراج:

خاتمة

يتم عرض طرق قراءة ملف CSV وتعديل ملف CSV وإحصاء صفوف وأعمدة ملف CSV باستخدام برنامج Bash النصي في هذا البرنامج التعليمي.