Files
SnapOtter/apps/docs/ar/tools/files/split-csv.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

2.0 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
تقسيم ملف CSV إلى ملفات أصغر حسب عدد الصفوف. a35dce4a99a3 human 1d8010ec49a4

تقسيم CSV

قسّم ملف CSV أو TSV كبيرًا إلى ملفات أصغر حسب عدد الصفوف. تُرجع أرشيف ZIP يحتوي على الأجزاء.

نقطة نهاية API

POST /api/v1/tools/files/split-csv

يقبل بيانات نموذج متعدّد الأجزاء (multipart) مع ملف CSV وحقل settings بصيغة JSON.

المعاملات

المعامل النوع مطلوب الافتراضي الوصف
rowsPerFile integer لا 1000 عدد صفوف البيانات لكل ملف مخرَج (1-1,000,000)
keepHeader boolean لا true تكرار صف الرأس في كل ملف مخرَج

مثال على الطلب

curl -X POST http://localhost:1349/api/v1/tools/files/split-csv \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@large-dataset.csv" \
  -F 'settings={"rowsPerFile": 500, "keepHeader": true}'

مثال على الاستجابة

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/large-dataset_parts.zip",
  "originalSize": 1048576,
  "processedSize": 1050000
}

ملاحظات

  • المخرجات دائمًا أرشيف ZIP يحتوي على أجزاء CSV المقسّمة، مُسمّاة تسلسليًا (مثل part-1.csv، part-2.csv).
  • عندما تكون قيمة keepHeader هي true، يتضمّن كل جزء صف الرأس الأصلي بحيث يمكن استخدام كل ملف بمفرده.
  • تُقبل ملفات CSV وTSV معًا كمدخلات.
  • يشير عدد الصفوف إلى صفوف البيانات فقط؛ ولا يُحتسب صف الرأس.