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

كيفية كتابة قواميس بايثون واحدة إلى ملفات CSV باستخدام رؤوس دقيقة وصفوف قيمة؟

تم النشر بتاريخ 2024-11-03
تصفح:413

How to Write Single Python Dictionaries to CSV Files with Precise Headers and Value Rows?

استكشاف الفروق الدقيقة في كتابة قواميس Python إلى ملفات CSV

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

تكمن المشكلة في اختيار الطريقة. تتوقع الدالة DictWriter.writerows() إدخال قواميس متعددة. ومع ذلك، نظرًا لأنك تمتلك قاموسًا واحدًا فقط، فيجب عليك استخدام DictWriter.writerow(). تتعامل هذه الطريقة بشكل مناسب مع القواميس المنفردة، مما يتيح لك إنشاء هيكل دقيق للرأس والقيمة.

لمزيد من تحسين أسلوبك، فكر في اعتماد عبارة with عند فتح الملفات. تعمل تقنية بايثون هذه على تبسيط عملية التعامل مع الملفات، وإغلاق الملفات تلقائيًا حتى عند ظهور استثناءات.

إليك مقتطف محسّن يتوافق مع هذه الاقتراحات:

import csv

my_dict = {"test": 1, "testing": 2}

with open("mycsvfile.csv", "w", newline="") as f:
    w = csv.DictWriter(f, my_dict.keys())
    w.writeheader()
    w.writerow(my_dict)

بتنفيذ هذا الكود، سوف تحصل على ملف CSV منسق بشكل جيد مع مفاتيح القاموس كرأس والقيم المقابلة كالصف الثاني:

test,testing
1,2

تذكر تحديد السطر الجديد = "" عند فتح الملف لتعطيل إدارة السطر الجديد المضمنة في Python، مما يسمح لكاتب CSV بالتعامل مع الأسطر الجديدة بشكل مستقل. وهذا يضمن التكامل السلس مع مواصفات تنسيق CSV.

بيان الافراج يتم استنساخ هذه المقالة في: 1729162156 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3