• Home
  • /
  • Blog
  • /
  • ملفات CSV – شرح العمود الفقري لخوارزميات ML للأطفال

ملفات CSV – شرح العمود الفقري لخوارزميات ML للأطفال

ملفات CSV

This post is also available in: English (الإنجليزية) हिन्दी (الهندية)

البيانات هي جوهر أي خوارزمية ML / AI. يجب تقديمه بالشكل الذي تفهمه الخوارزمية. تتمثل الوظيفة الرئيسية لخوارزميات ML / AI في فتح المعلومات / المعرفة المخفية المتوفرة في البيانات. ستنتهي الخوارزميات بتقديم رؤى زائفة غير صحيحة إذا كانت البيانات متاحة في شكل لا تفهمه الخوارزمية. واحدة من أكثر الطرق شيوعًا لتوفير البيانات لخوارزميات ML هي من خلال ملفات CSV.

ما هو ملف CSV؟

ملف CSV هو ملف قيم مفصولة بفواصل ، والذي يسمح بحفظ البيانات بتنسيق جدولي. تبدو ملفات CSV كجدول بيانات ولكن بامتداد .csv. يمكن استخدام ملفات CSV مع معظم برامج جداول البيانات ، مثل Microsoft Excel أو جداول بيانات Google. وهي تختلف عن أنواع ملفات جداول البيانات الأخرى لأنه لا يمكن أن يكون لديك سوى ورقة واحدة في ملف ولا يمكنهم حفظ خلية أو عمود أو صف. أيضًا ، لا يمكنك حفظ الصيغ بهذا التنسيق.

لماذا تستخدم ملفات CSV؟

تخدم ملفات CSV عددًا من الأغراض المختلفة. إنها تساعد المستخدمين على تصدير حجم كبير من البيانات إلى قاعدة بيانات أكثر تركيزًا.

لديهم أيضًا المزايا التالية:

  • ملفات CSV هي ملفات نصية عادية ، مما يسهل على المستخدمين إنشاؤها.
  • نظرًا لأنها نص عادي ، يسهل استيرادها إلى جدول بيانات أو قاعدة بيانات تخزين أخرى ، بغض النظر عن البرنامج المحدد الذي تستخدمه.
  • ينظم بشكل أفضل كميات كبيرة من البيانات.

كيفية إنشاء ملف CSV؟

ملف CSV هو ملف نصي ، لذا يمكن إنشاؤه وتحريره باستخدام أي محرر نصوص (مثل المفكرة). في كثير من الأحيان ، يتم إنشاء ملف CSV عن طريق تصدير (File > Export) جدول بيانات أو قاعدة بيانات في البرنامج الذي أنشأه.

باستخدام المفكرة

لإنشاء ملف CSV باستخدام محرر نصوص ، اختر أولاً محرر النصوص المفضل لديك ، مثل Notepad ، وافتح ملفًا جديدًا. ثم أدخل البيانات النصية التي تريد أن يحتوي عليها الملف ، وافصل كل قيمة بفاصلة وكل صف بسطر جديد.

Title1,Title2,Title3one,two,threeexample1,example2,example3

احفظ هذا الملف بالملحق .csv. يمكنك بعد ذلك فتح الملف باستخدام Microsoft Excel أو أي برنامج جداول بيانات آخر. سينشئ جدول بيانات مشابه لما يلي:

CSV Files

باستخدام جدول البيانات

لإنشاء ملف CSV باستخدام برنامج جداول بيانات (مثل Microsoft Excel) ، قم بتشغيل البرنامج ثم أدخل البيانات في الخلايا (كل قيمة في خلية منفصلة وكل صف به صف جديد). بعد إدخال البيانات ، انقر فوق Fileواختر Save As. ضمن Save as type ، حدد CSV واحفظ الملف.

العمل مع ملف CSV في بايثون

لتشغيل ملفات CSV في لغة python ، توجد وحدة نمطية تحمل في ثناياه عوامل تسمى csv. يوفر Python وحدة CSV للتعامل مع ملفات CSV. لقراءة / كتابة البيانات ، تحتاج إلى تكرار صفوف CSV.

تنفذ وحدة csv فئات لقراءة البيانات المجدولة وكتابتها بتنسيق CSV. يسمح للمبرمجين بقول “كتابة البيانات بالتنسيق المفضل من قبل Excel” ، أو “قراءة البيانات من هذا الملف الذي تم إنشاؤه بواسطة Excel” ، دون معرفة التفاصيل الدقيقة لتنسيق CSV المستخدم بواسطة Excel. يمكن للمبرمجين أيضًا وصف تنسيقات CSV التي تفهمها التطبيقات الأخرى أو تحديد تنسيقات CSV الخاصة بهم.

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

إلى جانب القارئ والكاتب العام ، تشتمل الوحدة على لهجة للعمل مع Microsoft Excel والملفات ذات الصلة.

وظائف CSV

تتضمن وحدة CSV جميع الوظائف الضرورية المضمنة. هم انهم:

  • csv.reader
  • csv.writer
  • csv.register_dialect
  • csv.unregister_dialect
  • csv.get_dialect
  • csv.list_dailetcts
  • csv.field_size_limit

في هذه المقالة سوف ننظر في وظيفتين رئيسيتين – csv.reader و csv.writer.

قراءة ملفات CSV

لقراءة البيانات من ملف CSV ، يجب عليك استخدام وظيفة reader لإنشاء كائن قارئ. تم تطوير وظيفة القارئ لأخذ كل ما هو مبهر في الملف وعمل قائمة بجميع الأعمدة. بعد ذلك ، عليك اختيار العمود الذي تريد المتغير له.

لفهمها بشكل أفضل ، دعنا ننظر في المثال التالي دع ملف data.csv يحتوي على البيانات التالية:

Programming language, Designed by, Appeared, Extension

Python, Guido van Rossum, 1991, .py

Java, James Gosling, 1995, .java

C++, Bjarne Stroustrup, 1983, .cpp

#import necessary modulesimport csvwith open(‘X:data.csv’,’rt’)as f: data = csv.reader(f) for row in data: print(row)

عند تنفيذ البرنامج أعلاه ، سيكون الإخراج:

[‘Programming language; Designed by; Appeared; Extension’]

[‘Python; Guido van Rossum; 1991; .py’]

[‘Java; James Gosling; 1995; .java’]

[‘C++; Bjarne Stroustrup;1983;.cpp’]

قراءة ملف CSV كقاموس

يمكنك أيضًا استخدام DictReader لقراءة ملفات CSV. يتم تفسير النتائج على أنها قاموس حيث يكون صف الرأس هو المفتاح ، والصفوف الأخرى هي القيم.

ضع في اعتبارك الكود التالي:

#import necessary modulesimport csvreader = csv.DictReader(open(“X:data.csv”))for raw in reader: print(raw)

نتيجة هذا الكود هي:

OrderedDict([(‘Programming language’, ‘Python’), (‘Designed by’, ‘Guido van Rossum’), (‘ Appeared’, ‘ 1991’), (‘ Extension’, ‘ .py’)])

OrderedDict([(‘Programming language’, ‘Java’), (‘Designed by’, ‘James Gosling’), (‘ Appeared’, ‘ 1995’), (‘ Extension’, ‘ .java’)])

OrderedDict([(‘Programming language’, ‘C++’), (‘Designed by’, ‘ Bjarne Stroustrup’), (‘ Appeared’, ‘ 1985’), (‘ Extension’, ‘ .cpp’)])

كتابة ملفات CSV

عندما يكون لديك مجموعة من البيانات التي ترغب في تخزينها في ملف CSV ، يجب عليك استخدام وظيفة writer(). لتكرار البيانات عبر الصفوف ، يجب عليك استخدام وظيفة writeow ().

تأمل المثال التالي. نكتب البيانات في ملف “writeData.csv” حيث يكون المحدِّد فاصلة عليا.

#import necessary modulesimport csvwith open(‘X:writeData.csv’, mode=’w’) as file: writer = csv.writer(file, delimiter=’,’, quotechar='”‘, quoting=csv.QUOTE_MINIMAL) #way to write to csv file writer.writerow([‘Programming language’, ‘Designed by’, ‘Appeared’, ‘Extension’]) writer.writerow([‘Python’, ‘Guido van Rossum’, ‘1991’, ‘.py’]) writer.writerow([‘Java’, ‘James Gosling’, ‘1995’, ‘.java’]) writer.writerow([‘C++’, ‘Bjarne Stroustrup’, ‘1985’, ‘.cpp’])

النتيجة في ملف csv هي:

Programming language, Designed by, Appeared, Extension

Python, Guido van Rossum, 1991, .py

Java, James Gosling, 1995, .java

C++, Bjarne Stroustrup,1983,.cpp

قراءة ملفات CSV مع Pandas

Pandas هي مكتبة مفتوحة المصدر تسمح لك باستيراد CSV في Python وتنفيذ معالجة البيانات. توفر Pandas طريقة سهلة لإنشاء البيانات ومعالجتها وحذفها.

قراءة ملف CSV في pandas DataFrame هي عملية سريعة وسهلة للغاية:

#import necessary modulesimport pandasresult = pandas.read_csv(‘X:data.csv’)print(result)

ستكون نتيجة ما سبق:

Programming language, Designed by, Appeared, Extension

0 Python, Guido van Rossum, 1991, .py

1 Java, James Gosling, 1995, .java

2 C++, Bjarne Stroustrup,1983,.cpp

من السهل جدًا قراءة ملفات CSV باستخدام حيوانات الباندا. في ثلاثة أسطر فقط من التعليمات البرمجية ، تحصل على نفس النتيجة السابقة. يعرف Pandas أن السطر الأول من CSV يحتوي على أسماء أعمدة ، وسوف يستخدمها تلقائيًا.

كتابة ملفات CSV مع الباندا

الكتابة في ملف CSV مع Pandas سهلة مثل القراءة. أولاً ، يجب عليك إنشاء DataFrame وكتابة البيانات فيه. ثم قم بتصدير البيانات من DataFrame إلى ملف CSV. الكود التالي يفعل الشيء نفسه:

from pandas import DataFrameC = {‘Programming language’: [‘Python’,’Java’, ‘C++’], ‘Designed by’: [‘Guido van Rossum’, ‘James Gosling’, ‘Bjarne Stroustrup’], ‘Appeared’: [‘1991’, ‘1995’, ‘1985’], ‘Extension’: [‘.py’, ‘.java’, ‘.cpp’], }df = DataFrame(C, columns= [‘Programming language’, ‘Designed by’, ‘Appeared’, ‘Extension’])export_csv = df.to_csv (r’X:pandaresult.csv’, index = None, header=True) # here you have to write path, where result file will be storedprint (df)

سيكون ناتج الكود أعلاه هو ملف CSS التالي:

Programming language, Designed by, Appeared, Extension

0 Python, Guido van Rossum, 1991, .py

1 Java, James Gosling, 1995, .java

2 C++, Bjarne Stroustrup,1983,.cpp

الآن ، أنت تعرف كيفية استخدام طريقة “csv” وكذلك قراءة البيانات وكتابتها بتنسيق CSV. تُستخدم ملفات CSV على نطاق واسع في تطبيقات البرامج نظرًا لسهولة قراءتها وإدارتها ، كما أن صغر حجمها يجعلها سريعة نسبيًا للمعالجة والإرسال.

توفر وحدة csv العديد من الوظائف والفئات التي تتيح لك القراءة والكتابة بسهولة. CSV هي أفضل طريقة لحفظ البيانات وعرضها وإرسالها. تعد Pandas أيضًا بديلاً رائعًا لقراءة ملفات CSV. في الواقع ، ليس من الصعب التعلم كما يبدو في البداية. ولكن مع القليل من الممارسة ، سوف تتقن ذلك.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>