أكثر البيانات بالعالم بتلاقيها بصيغة CSV (قيم مفصولة بفاصلة): كل سطر صف، وكل قيمة مفصولة بفاصلة. ملف CSV تقدر تفتحه بـ Excel أو Google Sheets، وتقرأه ببايثون بسهولة:
import csv
with open("students.csv", "w", newline="", encoding="utf-8") as f:
w = csv.writer(f)
w.writerow(["الاسم", "العمر", "المدينة"])
w.writerow(["سارة", 15, "جدة"])
w.writerow(["عمر", 16, "الرياض"])لاحظ newline="" — بدونها بينزل سطر إضافي فاضي على ويندوز. والقراءة:
with open("students.csv", encoding="utf-8") as f:
rows = list(csv.reader(f))
header, data = rows[0], rows[1:]
print(header) # ['الاسم', 'العمر', 'المدينة']
print(len(data)) # 2 طالب
# أو الأذكى: DictReader — كل صف يصير قاموساً
with open("students.csv", encoding="utf-8") as f:
for row in csv.DictReader(f):
print(row["الاسم"], row["المدينة"])الفرق الجوهري: reader يعطيك قائمة بالترتيب (لو تغير ترتيب الأعمدة بالملف ينكسر كودك)، بينما DictReader يعطيك قاموساً تقرأ فيه بالاسم — أمتن وأوضح.
ولما تكون القيمة نفسها فيها فاصلة، CSV يلفها بعلامتي تنصيص تلقائياً — ما تحتاج تسوي شي.