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

لماذا أتلقى الخطأ "TypeError: يجب أن تكون مؤشرات السلسلة أعدادًا صحيحة" عند معالجة بيانات JSON الخاصة بإصدار GitHub؟

تم النشر بتاريخ 2024-12-21
تصفح:401

Why am I getting a

لماذا "TypeError: يجب أن تكون مؤشرات السلسلة أعدادًا صحيحة" مع بيانات مشكلة GitHub؟

عند تحويل بيانات مشكلة GitHub من تنسيق JSON إلى CSV باستخدام في لغة Python، قد يواجه المبرمجون الخطأ "TypeError: يجب أن تكون مؤشرات السلسلة أعدادًا صحيحة." لحل هذه المشكلة، من الضروري فهم طبيعة الخطأ وإجراء التعديلات اللازمة على التعليمات البرمجية.

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

يكشف فحص التعليمات البرمجية المقدمة أن المشكلة تكمن في السطر التالي:

csv_file.writerow([item["gravatar_id"], item["position"], item["number"]])
, item["position"], item["number"]])

هنا العنصر عبارة عن قاموس ومفاتيحه وهي تمثل "gravatar_id" و"position" و"number" القيم التي تتم كتابتها في ملف CSV. يحدث الخطأ لأن القواميس تستخدم مفاتيح السلسلة للوصول إلى قيمها، وليس فهارس الأعداد الصحيحة.

لتصحيح هذه المشكلة، من الضروري تعديل التعليمات البرمجية لاستخدام فهارس السلسلة بدلاً من فهارس الأعداد الصحيحة. يجب أن يبدو الرمز المصحح كما يلي:
csv_file.writerow([item["gravatar_id"], str(item["position"]), str(item["number"])])
csv_file.writerow([item["gravatar_id"], str(item["position"]), str(item["number"])])

من خلال تحويل القيم الرقمية إلى سلاسل، يمكن للكود كتابة البيانات بنجاح في ملف CSV دون مواجهة الخطأ "TypeError: يجب أن تكون فهارس السلسلة خطأ في الأعداد الصحيحة.

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3