الانتقال إلى الأداة
ViewCSV
الملفات تبقى على جهازك

تقسيم ملف CSV

orders.csv· بيانات نموذجية15 صفًا · 8 أعمدة
الأجزاء نسخ مطابقة بايتًا بايتًا للسجلات الأصلية: تبقى علامات الاقتباس ونهايات الأسطر وعلامة ⁦BOM⁩ كما هي، ولا يقسم فاصل سطر داخل علامتي اقتباس أي سجل.
اختر طريقة التقسيم، ثم اعرض قائمة الأجزاء أو نزّلها في ملف ZIP.

يمكن أيضًا تنزيل كل جزء منفردًا من القائمة.

15 صفًا

بعد فتح ملف CSV يُختار أسلوب التقسيم: عدد ثابت من الصفوف في كل ملف، أو حجم أقصى للملف، أو عدد ملفات، أو ملف لكل قيمة في عمود. كل جزء نسخة مطابقة بايتًا ببايت للسجلات الأصلية، مع تكرار صف العناوين في أعلاه، فتبقى علامات الاقتباس ونهايات الأسطر والترميز وعلامة ترتيب البايت كما كانت. تُعاين قائمة الأجزاء، ثم تُنزَّل واحدًا واحدًا أو معًا في ملف ZIP. تُقسَّم الملفات الأكبر من 25 ميغابايت أيضًا، ولا يُرفع أي شيء.

طريقة تقسيم ملف CSV

  1. افتح ملف ⁦.csv⁩ أو ⁦.tsv⁩ أو ⁦.txt⁩، أو أفلته على الأداة، أو الصق الصفوف. يُعدّ الصف الأول صف عناوين.
  2. اختر أساس التقسيم وأدخل عدد الصفوف، أو الحجم الأقصى بالبايت، أو عدد الملفات، أو العمود.
  3. اعرض قائمة الأجزاء لمعرفة اسم كل ملف وعدد صفوفه وحجمه، ثم نزّل جزءًا واحدًا أو كل الأجزاء في ملف ZIP واحد.

تُسمّى الأجزاء باسم الملف الأصلي: يصبح ⁦orders.csv⁩ ⁦orders-part-001.csv⁩ و⁦orders-part-002.csv⁩… ويحتفظ ملف ⁦.tsv⁩ بالامتداد ⁦.tsv⁩. ويُسمّى ملف ZIP ⁦orders-parts.zip⁩.

طرق التقسيم

عدد الصفوف في كل ملفيحصل كل جزء على هذا العدد من صفوف البيانات، ويحصل الجزء الأخير على الباقي. ولا يُحتسب صف العناوين.
الحجم الأقصى لكل ملفيُملأ كل جزء بسجلات كاملة إلى أن يتجاوز السجل التالي الحجم المحدد، ويُحسب الحجم بالبايت شاملًا صف العناوين وعلامة ترتيب البايت. لا يُقطع سجل إلى نصفين أبدًا، لذا فالسجل الواحد الأكبر من الحد يوقف التقسيم برسالة خطأ تذكره.
عدد الملفاتتعدّ الأداة السجلات أولًا، ثم تضع العدد نفسه من الصفوف في كل جزء مقرَّبًا إلى الأعلى (ألف ملف على الأكثر). وبسبب التقريب قد تحصل على ملفات أقل مما طلبت: 5 صفوف في 4 ملفات تعطي أجزاء من 2 و2 و1.
ملف لكل قيمة في العمودتُجمَّع الصفوف حسب القيمة الدقيقة في العمود المختار، وتصبح كل قيمة ملفًا مثل ⁦orders-West.csv⁩ و⁦orders-East.csv⁩… بترتيب أول ظهور. وتحتفظ الصفوف بترتيبها الأصلي داخل كل جزء. ألف قيمة مختلفة على الأكثر.
تكرار صف العناوين في كل جزءمفعّل افتراضيًا. يُعطَّل للإبقاء على صف العناوين في الجزء الأول وحده، مثلًا عندما ستُضم الأجزاء معًا لاحقًا.

كيف تُعالَج البيانات الصعبة

  • القيم المحاطة بعلامات اقتباس التي تحتوي على المحدِّد أو فواصل أسطر تبقى داخل سجلها، وتُقرأ وفق RFC 4180. فلا يُقسم عنوان متعدد الأسطر بين جزأين أبدًا.
  • تُنسخ السجلات بايتات خامًا، ولا يُعاد تحليلها وكتابتها أبدًا: تبقى علامات الاقتباس ونهايات الأسطر والأصفار في بداية القيم كما هي تمامًا. وعلامة ترتيب البايت ⁦UTF-8⁩ في بداية الملف تُكتب في بداية كل جزء، فيتعرّف Excel على كل جزء بأنه ⁦UTF-8⁩.
  • تُتخطّى الأسطر الفارغة بين السجلات. وإذا لم يكن بعد السجل الأخير فاصل سطر، يحصل الجزء على نهاية السطر الخاصة بالملف.
  • تُقارَن قيم العمود بدقة: ⁦West⁩ و⁦west⁩ يصبحان ملفين منفصلين. ولأن كثيرًا من أنظمة الملفات تتجاهل حالة الأحرف، يُسمّى الثاني ⁦orders-west-2.csv⁩ بدل الكتابة فوق الأول.
  • في أسماء الملفات تصبح الأحرف مثل ⁦/ \ : * ? " < > |⁩ الرمز ⁦_⁩، وتُقص الأسماء عند 60 حرفًا، وتُكتب القيمة الفارغة ⁦orders-empty.csv⁩. ويبيّن عمود القيمة في المعاينة القيمة التي يحملها كل ملف بالضبط.

الترميزات التي يمكن تقسيمها

يعمل التقسيم على البايتات مباشرة، وهذا آمن مع ⁦UTF-8⁩ والترميزات أحادية البايت مثل ⁦Windows-1252⁩. لا يمكن تقسيم ملفات ⁦UTF-16⁩ بهذه الطريقة؛ لذا تُحفظ بترميز ⁦UTF-8⁩ أولًا، بأداة تنسيق CSV مثلًا. ويمكن تقسيم ملفات ⁦Shift_JIS⁩ و⁦GB18030⁩ و⁦GBK⁩ و⁦Big5⁩ إذا كان المحدِّد فاصلة أو فاصلة منقوطة أو علامة جدولة، لا خطًا عموديًا، لأن بايت الخط العمودي قد يقع داخل حرف في هذه الترميزات. وتنبّهك الأداة قبل البدء إذا كان الملف غير قابل للتقسيم.

حل المشكلات

  • سجل واحد أكبر من حجم الجزء المختار. ارفع الحجم الأقصى؛ إذ يجب أن يتسع لصف العناوين مع أكبر سجل منفرد.
  • هذا التقسيم سينتج أكثر من ألف ملف. زِد عدد الصفوف في كل ملف أو الحجم، أو اختر عدد ملفات أقل.
  • في هذا العمود أكثر من ألف قيمة مختلفة. قسّم حسب عمود أعم، كالمنطقة بدل العميل، أو صفِّ الملف أولًا.
  • قيمة محاطة بعلامة اقتباس لا تُغلق. علامة اقتباس فُتحت في مكان ما من الملف ولم تُغلق، فيصبح باقي الملف سجلًا واحدًا. ابحث عنها بأداة التحقق من CSV.

الملفات الكبيرة والخصوصية

التقسيم غير مقيّد بـ25 ميغابايت. يعرض الملف الأكبر معاينة لأول 200 صف، ويقرأ التقسيم الملف كله على أجزاء من 8 ميغابايت، فيبقى استخدام الذاكرة منخفضًا. تُحفظ الأجزاء كبيانات ملفات في المتصفح إلى أن تُنزَّل؛ والحد العملي هو المساحة الحرة التي يستطيع متصفحك استخدامها.

يجري التقسيم في عامل خلفي داخل علامة التبويب هذه، ويوقفه زر إلغاء. ولا يُرسل الملف أبدًا إلى أي خادم. ولإعادة جمع الأجزاء استخدم دمج ملفات CSV؛ ولتصغير الملف بدل تقطيعه استخدم ضغط CSV.

مثال

ملف طلبات صغير مُصدَّر بنهايات أسطر ⁦CRLF⁩ (تظهر هنا كفواصل أسطر عادية) وفيه ملاحظة متعددة الأسطر، قُسّم إلى أجزاء من صفين مع تكرار صف العناوين. يبقى فاصل السطر المحاط بعلامات اقتباس داخل الطلب A2، ويحصل السجل الأخير، الذي لم يكن بعده فاصل سطر في المدخلات، على نهاية السطر ⁦CRLF⁩ الخاصة بالملف.

CSV
order_id,region,note
A1,West,ok
A2,East,"two
lines"
A3,West,"a, b"
A4,,late
A5,east,ok
3 ملفات
orders-part-001.csv (2 rows)
order_id,region,note
A1,West,ok
A2,East,"two
lines"

orders-part-002.csv (2 rows)
order_id,region,note
A3,West,"a, b"
A4,,late

orders-part-003.csv (1 row)
order_id,region,note
A5,east,ok

أسئلة وأجوبة

هل سيُفتح كل جزء بشكل صحيح في Excel؟

نعم، ما دام الأصل يُفتح بشكل صحيح: لكل جزء صف العناوين والمحدِّد والترميز نفسها، ويحتفظ بعلامة ترتيب البايت ⁦UTF-8⁩ إذا كانت في الأصل.

هل يمكن التقسيم حسب عمود دون صف عناوين؟

لا. يُقرأ الصف الأول دائمًا على أنه صف العناوين، ويُختار العمود باسم عنوانه. أضِف صف عناوين أولًا، في محرر CSV مثلًا.

لماذا حصلت على ملفات أقل مما طلبت؟

خيار «عدد الملفات» يضع العدد نفسه من الصفوف في كل جزء مقرَّبًا إلى الأعلى، فقد تنفد الصفوف قبل الملف الأخير. 10 صفوف في 4 ملفات تعطي 3 و3 و3 و1؛ و10 صفوف في 6 ملفات تعطي خمسة ملفات في كل منها صفان.

المعايير والمراجع