📚 مراجعة سريعة: هذا التطبيق العملي مبني على مفهوم برمجي أساسي. راجع الدرس النظري من هنا أولاً.
مقدمة افتتاحية: الآن بعد أن فهمنا الأساس النظري لملفات CSV وكيف تعمل وحدة csv في بايثون، حان الوقت لنضع أيدينا على لوحة المفاتيح! في هذا الدرس العملي، سنقوم بتطبيق مباشر للمفاهيم التي تعلمناها. سنتعلم خطوة بخطوة كيفية إنشاء ملف CSV، كتابة البيانات فيه، ثم قراءة هذه البيانات مرة أخرى باستخدام بايثون. استعد لتطبيق مهاراتك!
المتطلبات
لتبدأ، كل ما تحتاجه هو تثبيت بايثون على جهازك (الإصدار 3.6 أو أحدث مستحسن).
الخطوة 1: استيراد وحدة `csv`
أول خطوة في التعامل مع ملفات CSV هي استيراد الوحدة المخصصة لذلك في بايثون. هذا يتيح لنا الوصول إلى جميع الدوال والكائنات التي نحتاجها.
import csv
الخطوة 2: إنشاء ملف CSV والكتابة فيه
الآن سنقوم بإنشاء ملف جديد (أو الكتابة فوق ملف موجود) وكتابة بعض البيانات فيه. سنستخدم الدالة open() مع الوضع 'w' (للكتابة) وكائن csv.writer.
# 1. إنشاء ملف CSV والكتابة فيه
with open('data.csv', mode='w', encoding='utf-8', newline='') as file:
writer = csv.writer(file)
writer.writerow(['الاسم', 'العمر', 'المدينة']) # كتابة سطر العناوين
writer.writerow(['أحمد', 28, 'الرياض']) # كتابة الصف الأول
writer.writerow(['سارة', 24, 'جدة']) # كتابة الصف الثاني
print("تم إنشاء الملف والكتابة فيه بنجاح!\n")
شرح الكود:
with open('data.csv', mode='w', encoding='utf-8', newline='') as file:: يفتح ملفاً باسمdata.csvفي وضع الكتابة.encoding='utf-8'ضروري لدعم الأحرف العربية.newline=''يمنع إضافة أسطر فارغة إضافية.writer = csv.writer(file): ينشئ كائنwriterيمكننا استخدامه لكتابة البيانات.writer.writerow(...): تكتب قائمة من العناصر كصف واحد في ملف CSV.
الخطوة 3: قراءة البيانات من ملف CSV
بعد أن كتبنا البيانات، دعنا نقرأها مرة أخرى للتأكد من أن كل شيء يعمل بشكل صحيح. سنفتح الملف في وضع القراءة 'r' ونستخدم كائن csv.reader.
# 2. قراءة البيانات من نفس الملف
print("البيانات المقروءة من الملف:")
with open('data.csv', mode='r', encoding='utf-8') as file:
reader = csv.reader(file)
for row in reader:
print(f" - {row}")
شرح الكود:
with open('data.csv', mode='r', encoding='utf-8') as file:: يفتح نفس الملف في وضع القراءة.reader = csv.reader(file): ينشئ كائنreaderيمكننا التكرار عليه.for row in reader:: يتكرر على كل صف في الملف. كلrowستكون قائمة من السلاسل النصية تمثل قيم هذا الصف.print(f" - {row}"): يطبع الصف الحالي.
الكود البرمجي الكامل
للتجربة، يمكنك تجميع جميع الأجزاء في ملف بايثون واحد (مثلاً csv_example.py):
import csv
def create_and_read_csv():
# 1. إنشاء ملف CSV والكتابة فيه
with open('data.csv', mode='w', encoding='utf-8', newline='') as file:
writer = csv.writer(file)
writer.writerow(['الاسم', 'العمر', 'المدينة'])
writer.writerow(['أحمد', 28, 'الرياض'])
writer.writerow(['سارة', 24, 'جدة'])
print("تم إنشاء الملف والكتابة فيه بنجاح!\n")
# 2. قراءة البيانات من نفس الملف
print("البيانات المقروءة من الملف:")
with open('data.csv', mode='r', encoding='utf-8') as file:
reader = csv.reader(file)
for row in reader:
print(f" - {row}")
create_and_read_csv()
كيفية التشغيل
احفظ الكود أعلاه في ملف باسم csv_example.py. افتح الطرفية (Terminal) أو موجه الأوامر (Command Prompt) في نفس المجلد الذي حفظت فيه الملف، ثم نفّذ الأمر التالي:
python csv_example.py
الناتج المتوقع
يجب أن تشاهد مخرجات مشابهة لهذه في الطرفية:
تم إنشاء الملف والكتابة فيه بنجاح!
البيانات المقروءة من الملف:
- ['الاسم', 'العمر', 'المدينة']
- ['أحمد', '28', 'الرياض']
- ['سارة', '24', 'جدة']
بالإضافة إلى ذلك، ستجد ملفاً جديداً باسم data.csv في نفس المجلد يحتوي على البيانات التي كتبتها.
خاتمة
تهانينا! لقد قمت للتو بإنشاء وقراءة ملف CSV بنجاح باستخدام بايثون. هذه المهارة أساسية للعديد من تطبيقات معالجة البيانات وتحليلها. لا تتردد في تجربة المزيد من البيانات وتعديل الكود لاستكشاف إمكانيات أوسع!