تقنية

DictReader في بايثون: أين يذهب الزائد وكيف يملأ الناقص؟

قائمة الحقول الزائدة
الزائد. [1] [2]

عدد الحقول قد يختلف عن عدد أسمائها. [1] [2]

الخلاصة السريعة

الزائد قائمة تحت restkey؛ الناقص يأخذ restval. [1] [2]

  • حددنا اسمين: name وqty. [1] [2]
  • السطر الأول يضيف extra بقائمة leaf وstone. [1] [2]
  • السطر الثاني يملأ qty بالقيمة MISSING. [1] [2]
  • الحقل الفارغ الموجود يبقى نصًا فارغًا. [1] [2]
  • اختبرنا 3.12.14؛ لا نفحص صحة الكمية. [1] [2]

المثال

import csv
rows=['bud,7,leaf,stone','bud']
r=csv.DictReader(rows,
    fieldnames=['name','qty'],
    restkey='extra',
    restval='MISSING')
for row in r:
    print(row)

[1] [2]

الزائد والناقص

المصدر هنا يربط الاسم بالقيمة، ثم يحفظ الباقي أو يملأ الغائب. حددنا الأسماء صراحة؛ لذلك السطر الأول بيانات، لا عنوان مستبعد. قيمة qty الأولى نص 7، والثانية MISSING. [1] [2]

غياب الحقل يختلف عن فراغه
الناقص. [1] [2]

الفارغ والنطاق

لو استبدلنا السطر الثاني بـ bud,، تصبح qty نصًا فارغًا، لا MISSING: الحقل موجود. يستخدم المثال قوائم في الذاكرة؛ لا نستورد ملفًا ولا نعمم النتيجة على pandas. [1] [2]

المراجع

  1. Python 3.12: csv.DictReader
  2. CPython 3.12.14: csv.py
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

للتوسع: بحث عن لغات البرمجة

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.