الفرق بين المراجعتين ل"Python/csv/reader"

من موسوعة حسوب
< Python‏ | csv
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>csv.reader()‎‎</code> في بايثون}}</noinclude> تعيد الدالة كائن قراءة مهمّته هي الم...')
 
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:الدالة <code>csv.reader()‎‎</code> في بايثون}}</noinclude>
 
<noinclude>{{DISPLAYTITLE:الدالة <code>csv.reader()‎‎</code> في بايثون}}</noinclude>
 
تعيد الدالة كائن قراءة مهمّته هي المرور على جميع الأسطر في ملف csv المعطى.
 
تعيد الدالة كائن قراءة مهمّته هي المرور على جميع الأسطر في ملف csv المعطى.
 
 
 
== البنية العامة ==
 
== البنية العامة ==
  
سطر 8: سطر 6:
 
csv.reader(csvfile, dialect='excel', **fmtparams)
 
csv.reader(csvfile, dialect='excel', **fmtparams)
 
</syntaxhighlight>
 
</syntaxhighlight>
 
== المعاملات ==
 
  
csvfile
+
== ‎المعاملات ==
 +
 
 +
=== <code>csvfile</code> ===
 
ملف csv المراد قراءة محتوياته، ويمكن أن تكون قيمة هذا المعامل أيّ كائن يدعم بروتوكول المكرِّر iterator protocol ويعيد سلسلة نصية في كلّ مرة يجري فيها استدعاء التابع ‎__next__()‎، وعادة ما تكون كائنات الملفات وكائنات القوائم ملائمة لهذا الغرض.
 
ملف csv المراد قراءة محتوياته، ويمكن أن تكون قيمة هذا المعامل أيّ كائن يدعم بروتوكول المكرِّر iterator protocol ويعيد سلسلة نصية في كلّ مرة يجري فيها استدعاء التابع ‎__next__()‎، وعادة ما تكون كائنات الملفات وكائنات القوائم ملائمة لهذا الغرض.
  
إن كانت قيمة هذا المعامل كائن ملف، فيجب أن يكون مفتوحًا مع المعامل newline=''‎.  
+
إن كانت قيمة هذا المعامل كائن ملف، فيجب أن يكون مفتوحًا مع المعامل <code><nowiki>''</nowiki>newline=''‎''</code>''. ''
  
'''ملاحظة''': إن لم تحدد القيمة newline=''‎ لن تُفسّر الأسطر الجديدة في الحقول المحاطة بعلامات اقتباس بطريقة صحيحة، وسيضاف رمز ‎\r إضافي إلى الأسطر المنتهية بالرمز ‎\r\n في المنصّات التي تستخدم الرمز الأخير في نهايات الأسطر. يُنصح بتحديد القيمة newline=''‎ دائمًا إذ أن وحدة csv طريقتها الخاصة في التعامل مع نهايات الأسطر بمختلف أنواعها.
+
'''ملاحظة''': إن لم تحدد القيمة <code><nowiki>''</nowiki>newline=''‎''</code> لن تُفسّر الأسطر الجديدة في الحقول المحاطة بعلامات اقتباس بطريقة صحيحة، وسيضاف رمز ‎<code>\r</code> إضافي إلى الأسطر المنتهية بالرمز <code>‎\r\n</code> في المنصّات التي تستخدم الرمز الأخير في نهايات الأسطر. يُنصح بتحديد القيمة <code><nowiki>''</nowiki>newline=''‎''</code> دائمًا إذ تمتلك وحدة <code>csv</code> طريقتها الخاصة في التعامل مع نهايات الأسطر بمختلف أنواعها.
  
dialect
+
=== <code>dialect</code> ===
معامل اختياري، يمكن استخدامه لتعريف مجموعة من المعاملات الخاصة بلهجة CSV ‏(CSV dialect)‏ معيّنة. يمكن أن تكون قيمة هذا المعامل نسخة من صنف متفرّع عن الصنف Dialect أو واحدة من السلاسل النصية التي تعيدها الدالة list_dialects()‎.  
+
معامل اختياري، يمكن استخدامه لتعريف مجموعة من المعاملات الخاصة بلهجة CSV ‏(CSV dialect)‏ معيّنة. يمكن أن تكون قيمة هذا المعامل نسخة من صنف متفرّع عن الصنف <code>[[Python/Dialect|Dialect]]</code> أو واحدة من السلاسل النصية التي تعيدها الدالة <code>[[Python/csv/list dialects|list_dialects()‎]]</code>.  
  
fmtparams
+
=== <code>fmtparams</code> ===
معامل مفتاحي اختياري، يمكن تحديد قيمته لإعادة تعريف معاملات التنسيق في اللهجة المستخدمة. راجع قسم اللهجات ومعاملات التنسيق للاطلاع على المزيد من المعلومات.
+
معامل مفتاحي اختياري، يمكن تحديد قيمته لإعادة تعريف معاملات التنسيق في اللهجة المستخدمة. راجع قسم [[Python/csv#.D8.A7.D9.84.D9.84.D9.87.D8.AC.D8.A7.D8.AA .D9.88.D9.85.D8.B9.D8.A7.D9.85.D9.84.D8.A7.D8.AA .D8.A7.D9.84.D8.AA.D9.86.D8.B3.D9.8A.D9.82|اللهجات ومعاملات التنسيق]] للاطلاع على المزيد من المعلومات.
  
 
== القيمة المعادة ==
 
== القيمة المعادة ==
يعاد كلّ سطر تقرأه الدالة من ملف csv كقائمة من السلاسل النصية، ولا تُجرى أي تحويلات تلقائية للبيانات إلا إذا استخدم خيار التنسيق QUOTE_NONNUMERIC (في هذه الحالة تحوّل القيم غير المحاطة بعلامات اقتباس إلى أعداد ذات فاصلة عشرية).
+
يعاد كلّ سطر تقرأه الدالة من ملف csv كقائمة من السلاسل النصية، ولا تُجرى أي تحويلات تلقائية للبيانات إلا إذا استخدم خيار التنسيق <code>QUOTE_NONNUMERIC</code> (في هذه الحالة تحوّل القيم غير المحاطة بعلامات اقتباس إلى أعداد ذات فاصلة عشرية).
  
 
== أمثلة ==
 
== أمثلة ==
سطر 43: سطر 41:
  
 
== انظر أيضًا ==
 
== انظر أيضًا ==
* الدالة <code>csv.writer()‎</code>: تعيد الدالة كائن كتابة وظيفته تحويل بيانات المستخدم إلى سلاسل نصية مفصولة عن بعضها البعض وكتابتها في الكائن المعطى.
+
* الدالة <code>[[Python/csv/writer|csv.writer()‎]]</code>: تعيد الدالة كائن كتابة وظيفته تحويل بيانات المستخدم إلى سلاسل نصية مفصولة عن بعضها البعض وكتابتها في الكائن المعطى.
 
== مصادر ==
 
== مصادر ==
 
[https://docs.python.org/3/library/csv.html#csv.reader صفحة CSV File Reading and Writing في توثيق بايثون الرسمي.]
 
[https://docs.python.org/3/library/csv.html#csv.reader صفحة CSV File Reading and Writing في توثيق بايثون الرسمي.]

المراجعة الحالية بتاريخ 20:09، 25 نوفمبر 2018

تعيد الدالة كائن قراءة مهمّته هي المرور على جميع الأسطر في ملف csv المعطى.

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

csv.reader(csvfile, dialect='excel', **fmtparams)

‎المعاملات

csvfile

ملف csv المراد قراءة محتوياته، ويمكن أن تكون قيمة هذا المعامل أيّ كائن يدعم بروتوكول المكرِّر iterator protocol ويعيد سلسلة نصية في كلّ مرة يجري فيها استدعاء التابع ‎__next__()‎، وعادة ما تكون كائنات الملفات وكائنات القوائم ملائمة لهذا الغرض.

إن كانت قيمة هذا المعامل كائن ملف، فيجب أن يكون مفتوحًا مع المعامل ''newline=.

ملاحظة: إن لم تحدد القيمة ''newline= لن تُفسّر الأسطر الجديدة في الحقول المحاطة بعلامات اقتباس بطريقة صحيحة، وسيضاف رمز ‎\r إضافي إلى الأسطر المنتهية بالرمز ‎\r\n في المنصّات التي تستخدم الرمز الأخير في نهايات الأسطر. يُنصح بتحديد القيمة ''newline= دائمًا إذ تمتلك وحدة csv طريقتها الخاصة في التعامل مع نهايات الأسطر بمختلف أنواعها.

dialect

معامل اختياري، يمكن استخدامه لتعريف مجموعة من المعاملات الخاصة بلهجة CSV ‏(CSV dialect)‏ معيّنة. يمكن أن تكون قيمة هذا المعامل نسخة من صنف متفرّع عن الصنف Dialect أو واحدة من السلاسل النصية التي تعيدها الدالة list_dialects()‎.

fmtparams

معامل مفتاحي اختياري، يمكن تحديد قيمته لإعادة تعريف معاملات التنسيق في اللهجة المستخدمة. راجع قسم اللهجات ومعاملات التنسيق للاطلاع على المزيد من المعلومات.

القيمة المعادة

يعاد كلّ سطر تقرأه الدالة من ملف csv كقائمة من السلاسل النصية، ولا تُجرى أي تحويلات تلقائية للبيانات إلا إذا استخدم خيار التنسيق QUOTE_NONNUMERIC (في هذه الحالة تحوّل القيم غير المحاطة بعلامات اقتباس إلى أعداد ذات فاصلة عشرية).

أمثلة

يبين المثال التالي طريقة استخدام الدالة:

>>> import csv
>>> with open('eggs.csv', newline='') as csvfile:
...     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
...     for row in spamreader:
...         print(', '.join(row))
Spam, Spam, Spam, Spam, Spam, Baked Beans
Spam, Lovely Spam, Wonderful Spam

انظر أيضًا

  • الدالة csv.writer()‎: تعيد الدالة كائن كتابة وظيفته تحويل بيانات المستخدم إلى سلاسل نصية مفصولة عن بعضها البعض وكتابتها في الكائن المعطى.

مصادر

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