الصنف csv.DictReader()‎‎ في بايثون

من موسوعة حسوب
مراجعة 20:54، 26 نوفمبر 2018 بواسطة Mohammed Taher (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الصنف <code>csv.DictReader()‎‎</code> في بايثون}}</noinclude> تنشئ الدالة البانية لهذا الصنف كائ...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تنشئ الدالة البانية لهذا الصنف كائنًا يعمل كقارئ عادي ولكنّه يربط المعلومات في كل سطر بقاموس مرتّب OrderedDict تحدّد مفاتيحه بواسطة المعامل الاختياري fieldnames.

البنية العامة

class csv.DictReader(f, fieldnames=None, restkey=None, restval=None, dialect='excel', *args, **kwds)

المعاملات

‎f ملف csv المراد قرائته.

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

إن تضمّن سطرٌ حقولًا أكثر من أسماء الحقول، توضع البيانات المتبقّية في قائمة وتُخزّن تحت حقل يحمل الاسم المحدّد بواسطة المعامل restkey (والذي يأخذ القيمة الافتراضية None).

إن امتلك سطر غير فارغ حقولًا أقلّ من اسماء الحقول، توضع القيمة None محلّ القيم المفقودة.

تمرّر بقية المعاملات الاختيارية أو المفتاحية إلى نسخة كائن القراءة الضمني.

ملاحظة: أصبحت الأسطر المعادة من نوع OrderedDict في الإصدار 3.6 من بايثون.

أمثلة

يبين المثال التالي طريقة الاستفادة من كائنات القراءة:

>>> import csv
>>> with open('names.csv', newline='') as csvfile:
...     reader = csv.DictReader(csvfile)
...     for row in reader:
...         print(row['first_name'], row['last_name'])
...
Eric Idle
John Cleese

>>> print(row)
OrderedDict([('first_name', 'John'), ('last_name', 'Cleese')])

انظر أيضًا

  • الصنف DictWriter.

مصادر

صفحة CSV File Reading and Writing في توثيق بايثون الرسمي.