كيف تكتب قائمة إلى CSV في بايثون

كيف تكتب قائمة إلى CSV في بايثون

إذا كنت تصارع قوائم بايثون وتتساءل كيف يمكنك حفظها كملف CSV أنيق ، فأنت في المكان الصحيح. تتمثل إحدى المهام الأكثر شيوعًا في Python في كتابة قائمة إلى ملف محدد بفواصل ، واليوم ، سنحولك إلى محترف لاستحضار ملف CSV!

لكتابة قائمة إلى CSV في Python ، يمكنك استخدام وحدة مدمجة تسمى csv مصممة خصيصًا لقراءة ملفات CSV وكتابتها. توفر فئة csv.writer للوحدة النمطية وظائف لكتابة قوائم بسيطة ومتداخلة إلى ملفات CSV.

تتضمن الطرق الأخرى للحصول على نفس النتيجة تثبيت واستخدام وحدات Pandas أو NumPy الخارجية.

تشرح هذه المقالة المفاهيم وترشدك خطوة بخطوة خلال العملية مع جميع أمثلة التعليمات البرمجية التي تحتاجها للبدء.

دعنا نذهب!

جدول المحتويات

ما هي القوائم في بايثون؟

كيف تكتب قائمة إلى CSV في بايثون

القائمة في Python هي بنية بيانات مضمنة تُستخدم لتخزين عناصر متعددة في متغير واحد.

قوائم بايثون هي:

  • أمر (يبدأ من الصفر).

  • متغير (يمكن تعديله).

  • قادرة على تخزين القيم المكررة.

يتم تعريف القوائم من خلال وجود قيم بين قوسين مربعين [] ويتم الفصل بين العناصر بفاصلات. يمكن أن تكون العناصر الموجودة في القائمة من أي نوع بيانات ، مثل الأرقام والسلاسل وحتى القوائم الأخرى.

فيما يلي مثال على إنشاء قائمة بسيطة:

products = [“t-shirts”, “hoodies”, “jeans”]

قوائم القوائم في بايثون

تُعرف قوائم القوائم أيضًا بالقوائم المتداخلة . هذه هي القوائم التي تحتوي على قوائم أخرى كعناصرها.

غالبًا ما يتم استخدامها في Python لتمثيل البيانات المهيكلة في الصفوف والأعمدة. يتم استخدامها بشكل شائع في السيناريوهات التي تحتاج فيها إلى تجميع البيانات ذات الصلة معًا.

فيما يلي مثال على إنشاء قائمة متداخلة تمثل المنتجات والأسعار والمبيعات.

product_sales = [[“t-shirts”, 9.99, 342], [“hoodies”, 24.99, 118], [“jeans”, 29.99, 612]

ملفات CSV ووحدة CSV في Python

تمثل ملفات CSV البيانات المجدولة بتنسيق ملف بسيط. يتوافق كل سطر في الملف مع صف في الجدول. كل قيمة في الصف (أو السطر) مفصولة بفاصلة - وهذا هو سبب تسمية التنسيق "قيم مفصولة بفاصلة".

هذا ما يمكن أن يبدو عليه الملف الذي يمثل المنتجات والأسعار والمبيعات بتنسيق CSV:

  • تي شيرت ، 9.99 ، 342

  • هوديس ، 24.99 ، 118

  • جينز ، 29.99 ، 612

كيف تكتب قائمة إلى CSV في بايثون

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

باستيراد الوحدة النمطية csv ، يمكنك الوصول إلى فئة csv.writer () ، والتي تتيح لك إنشاء كائن كاتب يمكنه كتابة سلسلة محددة إلى كائن ملف.

حسنًا ، بعد أن تجاوزنا الأساسيات ، دعنا نلقي نظرة على كيفية كتابة قائمة بسيطة إلى CSV باستخدام Python في القسم التالي.

كيفية كتابة قائمة بسيطة إلى CSV في بايثون

الأسلوب الأول الذي يجب تعلمه هو ملف قائمة بسيط (غير متداخل) يبدو كالتالي:

  • قمصان

  • هوديس

  • جينز

كيف تكتب قائمة إلى CSV في بايثون

الخطوات العامة لكتابة القائمة إلى ملف CSV هي:

  1. قم باستيراد وحدة csv .

  2. قم بإنشاء قائمة بايثون.

  3. افتح ملف CSV في وضع الكتابة.

  4. است��دم وظيفة الكاتب () لكائن كاتب csv .

  5. احفظ وأغلق ملف CSV.

ستكتب وظيفة الكاتب () عدة صفوف ، أي جميع البيانات إلى الملف . ها هو الكود مع التعليقات التفصيلية.

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list
my_list = ["t-shirts", "hoodies", "jeans"]

# Step 3: Opening a CSV file in write mode

with open('products.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerow(my_list) # Use writerow for single list

# Step 5: The file is automatically closed when exiting the 'with' block

باستخدام مديري السياق

إذا لم تكن معتادًا على طريقة "with" للعمل مع الملفات ، فهذه تقنية تستخدم مدير سياق يدير موارد الملفات.

على سبيل المثال ، عند استخدامه لكتابة ملفات CSV ، يتم إغلاق الملفات تلقائيًا عند انتهاء جملة with.

كيفية كتابة قائمة من القوائم إلى CSV

مع قائمة القوائم ، يجب أن تكون كل قائمة داخلية عبارة عن صف CSV في الملف. هذا ما ستبدو عليه بيانات CSV:

كيف تكتب قائمة إلى CSV في بايثون

تتشابه الخطوات العامة مع القسم السابق فيما عدا أنك تستخدم الوظيفة الكاتب () بدلاً من الكاتب () .

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list of lists
my_list = [["t-shirts", 9.99, 342], ["hoodies", 24.99, 118], ["jeans", 29.99, 612]]

# Step 3: Opening a CSV file in write mode
with open('product_sales.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerows(my_list) # Use writerows for nested list

# Step 5: The file is automatically closed when exiting the 'with' bloc

في هذا المثال الثاني ، تتم كتابة كل قائمة داخلية كصف منفصل في الملف.

لاحظ أن وحدة csv تتيح لك تجنب الاضطرار إلى التعداد أو التكرار خلال بنية البيانات وكتابتها صفًا تلو الآخر.

بعد ذلك ، سننظر في كيفية إلحاق البيانات بملفات CSV الحالية.

كيفية إلحاق البيانات بملفات CSV الحالية

كيف تكتب قائمة إلى CSV في بايثون

لإلحاق البيانات بملف CSV موجود ، اتبع الخطوات التالية:

  1. قم باستيراد وحدة csv .

  2. افتح ملف CSV في وضع الإلحاق ("أ") باستخدام مدير السياق مع open () .

  3. قم بإنشاء قائمة جديدة تحتوي على البيانات المطلوب إلحاقها.

  4. قم بإنشاء كائن csv.writer () بتمرير الملف المفتوح.

  5. استخدم الكائن csv.writer () لكتابة القائمة الجديدة إلى ملف CSV.

إليك مثال يكتب يضيف قائمة متداخلة (صف واحد) إلى ملف موجود:

import csv

new_row = [["leggings", 22.99, 483]]

with open('product_sales.csv', 'a', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(new_row)

تأكد من تضمين newline = ” عند فتح الملف لضمان التنسيق المناسب لملف CSV على أنظمة أساسية مختلفة.

في القسم التالي ، سنغطي كيف يمكنك استخدام فئة DictWriter للكتابة إلى ملفات CSV.

كيفية استخدام DictWriter للكتابة إلى ملفات CSV

كيف تكتب قائمة إلى CSV في بايثون

لقد تعلمنا حتى الآن كيفية كتابة القوائم إلى ملفات CSV. ومع ذلك ، فإن Python لديها هياكل بيانات أخرى مثل القواميس التي يمكن كتابتها أيضًا في ملف CSV.

تعتبر فئة DictWriter () أيضًا جزءًا من وحدة csv . إنه مشابه لفئة الكاتب () ولكنه يعالج بيانات القاموس.

هذا مثال:

import csv

product_sales_dict = [
    {"product": "t-shirts", "price": 9.99, "sales": 342},
    {"product": "hoodies", "price": 24.99, "sales": 118},
    {"product": "jeans", "price": 29.99, "sales": 612}
]

fieldnames = ["product", "price", "sales"]

with open("dictionary.csv", "w", newline="") as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerows(product_sales_dict)

تقنيات CSV المتقدمة في بايثون

لا يعد استخدام وحدة csv الطريقة الوحيدة لتصدير قوائم Python كملفات CSV.

مكتبتان شائعتان توفران وظائف لهذه المهمة هما Pandas و NumPy .

1. كيفية تصدير البيانات مع الباندا

كيف تكتب قائمة إلى CSV في بايثون

Pandas هي مكتبة Python مستخدمة على نطاق واسع لمعالجة البيانات وتحليلها.

لحفظ قوائم Python كملف CSV ، يمكنك إنشاء pandas DataFrame من القائمة ثم استخدام طريقة to_csv () ، كما هو موضح أدناه:

import pandas as pd
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Create a DataFrame from the list
data_frame = pd.DataFrame(data, columns=['Name', 'Value', 'Quantity'])
# Save DataFrame to CSV file
data_frame.to_csv('output.csv', index=False, encoding='utf-8')

إذا كانت بياناتك تتضمن أحرفًا غير ASCII ، فقد تحتاج إلى تعيين معلمة التشفير على قيمة مناسبة ، مثل "utf-8".

2. كيفية استخدام NumPy لحفظ القوائم في CSV

مكتبة أخرى تستحق الدراسة هي NumPy التي توفر الدعم للعمل مع المصفوفات والمصفوفات.

يوفر NumPy الوظيفة np.savetxt () كطريقة ملائمة لحفظ البيانات في ملف CSV.

إليك مثال يوضح كيفية حفظ قائمة في ملف CSV باستخدام NumPy:

import numpy as np
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Save the list to a CSV file
np.savetxt('output.csv', data, delimiter=',', fmt='%s', header='Name,Value,Quantity', comments='')

فيما يلي تفصيل لمعلمات savetxt () :

  • محدد: يحدد فاصل المجال

  • معلمة fmt: تشير إلى تنسيق البيانات التي يتم حفظها

  • ٪ s: العنصر النائب لقيم السلسلة

  • header : قائمة رؤوس الأعمدة

  • التعليقات: التحكم في الأحرف التي تبدأ التعليقات في ملف الإخراج.

كيفية تنظيف البيانات قبل الكتابة إلى ملف

من الجيد تنظيف بياناتك قبل كتابتها في ملفات نصية. سيعطيك هذا الفيديو التقنيات التي تحتاجها:

افكار اخيرة

تعد كتابة قائمة إلى ملف CSV في Python طريقة بسيطة وفعالة لتخزين البيانات ومشاركتها. لقد تعلمت كيفية استخدام وحدة csv المضمنة في Python لأداء هذه المهمة.

أنت الآن على دراية بإنشاء قائمة Python ، واستيراد وحدة csv ، وفتح ملف CSV ، واستخدام csv.writer لكتابة القائمة إلى ملف CSV.

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

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

هذا مجرد غيض من فيض بايثون. هناك الكثير لاستكشافه في عالم بايثون الواسع ، لذلك لا تتوقف هنا. لكن اليوم ، امنح نفسك تربيتة على ظهرك. لقد نجحت في ترويض وحش تحويل القائمة إلى CSV!


ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

كيفية حفظ وتحميل ملف RDS في R.

كيفية حفظ وتحميل ملف RDS في R.

ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.

مقدمة لتصفية السياق في LuckyTemplates

مقدمة لتصفية السياق في LuckyTemplates

في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX ​​في توفير النتائج.

إعداد تقارير الأعمال باستخدام LuckyTemplates

إعداد تقارير الأعمال باستخدام LuckyTemplates

إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته