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

قارن ملفات CSV الكبيرة # eg38

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

يوجد هنا ملفان بتنسيق CSV (A وB) لهما نفس البنية. كلاهما يستخدم KEY_A وKEY_B وKEY_C كمفتاح أساسي، ولكل منهما سجلات مختلفة.

Compare large csv files #eg38
استخدم Java لمقارنة الملفين بثلاث طرق وكتابة النتائج على التوالي إلى ملفات CSV الجديدة. 1. ابحث عن السجلات التي تكون فيها المفاتيح الأساسية متساوية وقيم الحقول الأخرى غير متساوية، وقم بإخراج مفاتيحها الأساسية ثم الحقول الأخرى في A والحقول الأخرى في B. وفيما يلي النتيجة المتوقعة:

Compare large csv files #eg38

  1. ابحث عن الفرق بين A وB، أي السجلات الموجودة في A ولكنها غير موجودة في B، وفقًا للمفتاح الأساسي. وفيما يلي النتيجة المتوقعة:

Compare large csv files #eg38

  1. ابحث عن الفرق بين B و A وفقًا للمفتاح الأساسي. وفيما يلي النتيجة المتوقعة:

Compare large csv files #eg38
اكتب رمز SPL لإجراء المقارنات الثلاث. فيما يلي المقارنة الأولى:

Compare large csv files #eg38

Compare large csv files #eg38

Compare large csv files #eg38
تقوم الدالة T() بتوزيع ملف CSV أو كتابة البيانات إلى ملف CSV؛ يتيح الخيار @c استخدام المؤشر لاسترداد البيانات من ملف لا يمكن احتواؤه في الذاكرة. تقوم الدالةsortx() بفرز البيانات في المؤشر. تقوم وظيفة joinx () بتنفيذ عملية دمج. وظيفة الدمج () تدمج السجلات؛ يتيح خيار @d إيجاد الفرق.

اقرأ كيفية استدعاء برنامج SPL النصي في Java للعثور على كيفية دمج SPL في تطبيق Java.

هذه إحدى المشكلات في StackOverflow. يمكنك النقر عليه لترى أن الحل التقليدي معقد للغاية، ولكن أسلوب SPL بسيط وفعال حقًا.

عنوان SPL مفتوح المصدر

بيان الافراج تم نشر هذه المقالة على: https://dev.to/esproc_spl/compare-large-csv-files-eg38-29m8?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3