CSV أم Excel أم JSON: قياس على جدول واحد من 10,000 صف
مرّرنا جدولًا واحدًا من 10,000 صف عبر CSV وExcel وJSON بست أدوات تحويل. إليك أحجام الملفات، وأحجامها مضغوطة، والأوقات، وكل خلية عادت مختلفة.
بقلم PulsarKit ·
الجواب المختصر
في الجدول المسطح أعطت صيغة CSV أصغر ملف نصي: 1.2 ميغابايت لجدولنا الذي يضم 10,000 صف. وبلغت الصفوف نفسها 2.7 ميغابايت بصيغة JSON بمسافات بادئة، و2 ميغابايت بصيغة NDJSON. وبعد الضغط في أرشيف ZIP تقاربت CSV وJSON: 357 كيلوبايت مقابل 398 إلى 424 كيلوبايت.
أما الفروق الأكبر فظهرت في طريق العودة. فرحلة الذهاب والإياب عبر Excel أو عبر JSON، بالإعدادات الافتراضية، غيّرت 10,960 خلية من أصل 100,000، ولم تكن الخلايا نفسها في الطريقين. وجعل إعداد واحد الرحلة عبر Excel دقيقة تمامًا. ولم تحتفظ بالحقول المتداخلة إلا JSON: فبمجرد أن مرت عبر CSV أو جدول بيانات، لم تعد أبدًا. لذا اختر الصيغة بحسب ما سيقرأ الملف بعد ذلك.
كيف قسنا
في 21 أكتوبر 2026 بنينا جدولًا اختباريًا ببرنامج نصي: 10,000 صف و10 أعمدة من بيانات مختلقة. فيه معرّفات تبدأ بأصفار مثل 000001، وباركودات من 13 رقمًا، وأرقام حسابات من 19 رقمًا. وفيه أيضًا تواريخ بصيغة ISO ومبالغ بمنزلتين عشريتين، نحو نصفها سالب. وتمزج الأسماء بين حروف لاتينية، وحروف لاتينية بعلامات، وحروف سيريلية، مع رمز تعبيري في صف من كل مئة صف. وفي ملاحظة من كل مئة ملاحظة فاصلة وعلامات تنصيص وسطر جديد. وعمود القسيمة فارغ في 3,096 صفًا، وكل رقم هاتف يبدأ بعلامة الجمع.
ومرّرناه عبر ست أدوات تحويل على pulsarkit.com: CSV إلى Excel، وExcel إلى CSV، وCSV إلى JSON، وJSON إلى CSV، وExcel إلى JSON، وJSON إلى Excel. واستخدمنا Chrome 155 على جهاز MacBook من عام 2023. والأدوات الست كلها تعمل داخل علامة التبويب في المتصفح، وبقيت الإعدادات على قيمها الافتراضية ما لم نذكرها. وقسنا الوقت من الضغط على الزر حتى ظهور زر «تنزيل». ثم قارن برنامجنا النصي كل خلية عادت بالأصل، وقرأنا أنواع الخلايا داخل كل مصنف. وأحجام الملفات المضغوطة مأخوذة من أرشيف ZIP عادي، بضغط Deflate من المستوى 6.
الحجم، والحجم مضغوطًا، والسرعة
تكتب CSV أسماء الأعمدة مرة واحدة، في الأعلى. أما JSON فتكررها في كل سجل. وبالمسافة البادئة الافتراضية، وهي مسافتان، حوّلت أداة CSV إلى JSON الجدول إلى 2.7 ميغابايت، أي 2.3 مرة حجم ملف CSV. وبلغت NDJSON، وفيها سجل واحد بلا مسافات زائدة في كل سطر، 2 ميغابايت. وحوّلت أداة «تنسيق JSON» في وضع «تصغير» الملف ذا المسافات البادئة إلى الحجم نفسه، 2 ميغابايت، أي أصغر بنسبة 23.6%.
ويزيل أرشيف ZIP معظم هذه الفجوة، لأن المفاتيح المكررة هي بالضبط ما يجيده الضغط. فبعد الضغط بلغ الحجم 357 كيلوبايت لملف CSV، و398 كيلوبايت لملف NDJSON، و424 كيلوبايت لملف JSON ذي المسافات البادئة.
أما ملف XLSX فهو أرشيف ZIP أصلًا، لذلك يتوقف حجمه على البرنامج الذي يكتبه. فالورقة التي أنتجتها أداة CSV إلى Excel، بعد أن حفظها LibreOffice Calc من جديد، شغلت 753 كيلوبايت. وحين لا يهمك إلا الحجم، أرسل ملف CSV مضغوطًا.
ولم تفرّق السرعة بين الصيغ. فقد وقّتنا 60 تشغيلًا، وكان الزمن الوسيط لتحويل 10,000 صف نحو ثلث ثانية. ومن هذه التشغيلات استغرق 49 تشغيلًا أقل من نصف ثانية. أما الأبطأ، وهو أول تحويل من Excel إلى CSV في جلستنا، فاستغرق ثانيتين.
ما الذي غيّرته رحلة الذهاب والإياب
عبر Excel: من CSV إلى Excel، ثم من Excel إلى CSV. فعادت كما كانت الأصفار البادئة، وأرقام الحسابات المكونة من 19 رقمًا، والباركودات، والأسطر الجديدة داخل الملاحظات، والرموز التعبيرية، والخلايا الفارغة. وتغيّر عمودان. فعادت كل قيمة true وfalse بالشكل TRUE وFALSE، لأن المصنف يخزنها قيمًا منطقية. وفقد 960 مبلغًا الصفر الذي في آخره، فصار 612.40 هو 612.4: فالمصنف يحفظ الرقم، لا طريقة كتابته.
عبر JSON: CSV إلى JSON، ثم JSON إلى CSV. ففقدت المبالغ نفسها، وعددها 960، صفرها الأخير للسبب نفسه. وعاد كل رقم هاتف وقبله فاصلة عليا، هكذا: '+1 202 555 0117. فأداة JSON إلى CSV تضيف هذه الفاصلة إلى أي قيمة تبدأ بالرمز + أو = أو - أو @ وليست رقمًا عاديًا. وبذلك لا يستطيع جدول البيانات تشغيلها كمعادلة. وصارت الخلايا الفارغة نصوصًا فارغة في JSON، بينما كتبت أداة Excel إلى JSON القيمة null في الخلايا نفسها، وعددها 3,096. فملف JSON الذي تحصل عليه يتوقف على الطريق، ما لم تضبط «الخلايا الفارغة تصبح» على «null» في أداة CSV إلى JSON.
في متصفح مضبوط على UTC أو UTC+4 مرّ كل تاريخ عبر أداة CSV إلى Excel دون تغيير. وأداة CSV إلى Excel تكتب كل تاريخ على أنه منتصف الليل بتوقيت UTC، فلا يزيحه متصفح مضبوط على توقيت نيويورك أيضًا.
وأزال إعداد واحد كل تغيير في طريق Excel: «أنواع الخلايا» مضبوطًا على «الكل نص» في أداة CSV إلى Excel. فبتوقيت نيويورك وبتوقيت UTC+4 على السواء، أعادت رحلة الذهاب والإياب حينها جميع الخلايا، وعددها 100,000، كما كُتبت تمامًا. والثمن ورقة من الخلايا النصية، والمبالغ أيضًا. والنص يناسب الباركودات كذلك: فبالإعدادات الافتراضية صارت رموزنا المكونة من 13 رقمًا أرقامًا بالتنسيق «عام». وتقول وثائق Microsoft إن التنسيق «عام» يعرض الأرقام المكونة من 12 رقمًا أو أكثر بالترميز العلمي.
البيانات المتداخلة لا تعود
ونادرًا ما يكون JSON الحقيقي مسطحًا، لذا أعطينا كل سجل كائن عنوان وقائمة وسوم، فبلغ الملف 3.8 ميغابايت بمسافات بادئة. فوزّعت أداة JSON إلى CSV العنوان على أعمدة باسم address.city وaddress.zip، وجمعت الوسوم في خلية واحدة، مثل new, wholesale. وفعلت أداة JSON إلى Excel الشيء نفسه.
وحين حُوّل الملفان من جديد إلى JSON، لم يستعد أي منهما شكله القديم. فأعطى كلاهما مفاتيح مسطحة مثل address.city، وأعطى tags نصًا بدل قائمة. وغيّر طريق CSV الأنواع أيضًا: فمن أصل 10,000 رمز بريدي، عاد 6,017 منها على هيئة أرقام، وهي التي لا تبدأ بصفر مثل 78701، بينما بقي 02134 نصًا. وفي هذا الطريق عادت القسائم الفارغة، وهي null في ملفنا، نصوصًا فارغة. أما طريق Excel فأبقى كل رمز بريدي نصًا، وكل null على حاله null.
أي صيغة تختار
إن كان شخص سيفرز البيانات ويصفّيها ويجمعها، فاختر XLSX. فهي تحفظ المبالغ أرقامًا، والتواريخ تواريخ، وtrue وfalse قيمًا منطقية. وإن كان برنامج سيقرأ الملف، فاختر JSON. فهي تحفظ الأرقام وtrue وfalse وnull، وهي الوحيدة بين الثلاث التي تحمل الحقول المتداخلة. أما NDJSON فحجمها حجم JSON المصغّر نفسه، وتضع سجلًا واحدًا في كل سطر.
وإن كان الملف ينتقل بين الأنظمة فقط، فملف CSV المضغوط هو الأصغر بين الثلاثة. لكن الفواصل والترميزات وعلامة ترتيب البايت (BOM) قد تُربك ملف CSV في طريقه إلى Excel. ويتناولها دليلنا تحويل CSV إلى Excel والعكس دون أن تتلف بياناتك.
الأدوات المستخدمة في هذه المقالة
اقرأ أيضًا
- بديل Convertio: ما المتوفر وأين يذهب ملفكفي 23 أكتوبر 2026 طابقنا التحويلات الواردة في قائمة Convertio نفسها، وعددها 25,637 تحويلًا، مع أدوات PulsarKit. فكان المقابل موجودًا في 193 تحويلًا، منها 130 في المتصفح؛ أما الأرشيفات والخطوط ورسومات CAD فلم يكن لها أي مقابل.
- بديل CloudConvert: ما المتوفر وأين يذهب ملفكفي 22 أكتوبر 2026 طابقنا التحويلات الواردة في صفحات الصيغ في CloudConvert، وعددها 2,091 تحويلًا، مع أدوات PulsarKit. فكان المقابل موجودًا في 190 تحويلًا، منها 125 تحويلًا في المتصفح؛ أما الأرشيفات ورسومات CAD والخطوط فلم يكن لها أي مقابل.
- تحويل CSV إلى Excel والعكس دون أن تتلف بياناتكملف CSV يدخل Excel ثم يخرج منه قد ينتهي مختلفًا اختلافًا طفيفًا عن الملف الذي بدأت به، بطرق يسهل ألا تلاحظها.