سؤال

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

هل كانت مفيدة؟

المحلول

يمكن لـ MySQL استيراد ملفات CSV بسرعة كبيرة إلى الجداول باستخدام ملحق LOAD DATA INFILE يأمر.ويمكنه أيضًا القراءة من ملفات CSV مباشرةً، وتجاوز أي إجراءات استيراد، باستخدام الملف محرك تخزين CSV.

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

تحديث: هذا المقال (قم بالتمرير لأسفل إلى القسم الذي يحمل عنوان تحميل البيانات الفورية) يتحدث عن استخدام كلا الطريقتين لتحميل بيانات CSV على MySQL، ويعطي أمثلة.

نصائح أخرى

لقد وجدت com.reCSVeditor هو برنامج رائع لتحرير ملفات CSV الكبيرة.إنها مثالية لإزالة الأعمدة غير الضرورية.لقد استخدمته لملفات 1,000,000 ملف سجل بسهولة تامة.

تحرير عظيم لهذا.أقوم بشكل روتيني بفتح أكثر من 100 ميجا (أعلم أنك قلت ما يصل إلى حفلة واحدة، وأعتقد أنهم يعلنون على موقعهم أنه يمكنه التعامل مع ضعف ذلك) من الملفات بها.لديه دعم regex والكثير من الميزات الأخرى.70 دولارًا رخيصًا بالنسبة للمبلغ الذي يمكنك فعله به.

يمكن لـ GVim التعامل مع الملفات الكبيرة مجانًا إذا لم تكن متصلاً بعرض حجم الحقل الثابت الحقيقي لجدول البيانات.

يعد vEdit أمرًا رائعًا ولكن لا تنس أنه يمكنك دائمًا الرجوع إلى التحقق من "الأساسيات". سيجوين وابدأ في التحسس.

أوامر مفيدة

  • grep
  • رأس
  • ذيل
  • بالطبع بيرل!

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

إذا كان بإمكانك احتواء البيانات في الذاكرة وكنت تحب لغة python، فإنني أوصي بمراجعة جزء UniTable من أغسطس.(تنصل:Augustus مفتوح المصدر (GPLv2) ولكني أعمل لدى الشركة التي تكتبه.)

إنها ليست موثقة جيدًا ولكن هذا من شأنه أن يساعدك على البدء.

from augustus.kernel.unitable import *
a = UniTable().from_csv_file('filename')
b = a.subtbl(a['key'] == some_value) #creates a subtable

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top