الأدوات
الأدلة

أدوات CSV

التنسيق

تحليل ومحاذاة ومعاينة CSV/TSV بفواصل وعلامات اقتباس مخصصة، أو التحويل بين CSV و JSON. فرز وإزالة تكرار الأعمدة — مدعوم بـ papaparse.

100% من جهة العميل بدون خادم خلفي

لا يتم جلب الروابط البعيدة؛ الصق JSON مباشرة.

الإدخال
الإخراج
الصق CSV على اليسار ثم اختر وضعًا.

يستخدم أوروبا غالبًا ; كفاصل CSV.

في هذه الصفحة

ما هي أدوات CSV؟#

CSV هي صيغة المقام المشترك الأصغر للبيانات الجدولية — كلّ جداول بيانات، وكلّ معالج استيراد قاعدة بيانات، وكلّ أداة تحليلات يستطيع قراءتها، ولا يكاد أيٌّ منها يتّفق على التفاصيل. هل الفاصل فاصلة أم فاصلة منقوطة؟ هل يحوي الصفّ الأوّل العناوين؟ هل القيم بين علامتي اقتباس " أم '؟ ملفٌّ يُفتَح بكمال في أداة قد يصل مشوَّهًا في أخرى، ببساطة لأنّ الافتراضيات تختلف. وتُوجَد أدوات CSV لجعل تلك الخيارات صريحةً وإعادة تشكيل ملفّ ليُؤدّي ما تحتاجه.

تفعل هذه الصفحة أربع مهامّ، كلّها مدفوعة بـ papaparse. محاذاة تُحلِّل الملفّ وتَحشو كلّ خلية إلى عرض عمودها، مُنتجةً شبكة بمسافة موحَّدة، الأعمدة مصطفَّة، يمكنك لصقها مباشرةً في مراجعة كود، أو README، أو تقرير علّة — نوع التخطيط الذي يجعل صفًّا غير مصطفٍّ يقفز فورًا. ومعاينة تُحلِّل وتعرض الجدول في الصفحة نفسها، فتُمعن النظر في البيانات قبل فعل أيّ شيء بها. وCSV ← JSON تُحوِّل الصفوف إلى مصفوفة JSON (من كائنات حين يوجد عنوان، ومن مصفوفات بخلاف ذلك). وJSON ← CSV تذهب في الاتجاه الآخر، آخذةً مصفوفة JSON ومُصدِرةً CSV. وفوق ذلك كلّه، يمكنك الفرز حسب أيّ عمود، وإزالة تكرار الصفوف الكاملة، وتبديل الفاصل (فاصلة، فاصلة منقوطة، علامة جدولة، أو محرف مفرد مخصّص)، واختيار محرف علامة الاقتباس — بالضبط المفاتيح التي تقرّر إن كان الملفّ ينجو في الأداة التالية في خط أنابيبك.

كيفية الاستخدام#

  1. الصق CSV خاصّتك (أو JSON، في وضع JSON ← CSV) في لوحة الإدخال على اليسار. ويُظهر النائب الشكل المتوقَّع؛ ومثال يحمّل مجموعة بيانات صغيرة.
  2. اختر زرّ الوضع: محاذاة، أو معاينة، أو JSON. وحين يكون JSON محدَّدًا، تظهر مجموعة أزرار ثانية للاتجاه — CSV ← JSON أو JSON ← CSV.
  3. اضبط الخيارات البنيوية على شريط الأدوات:
    • الفاصل — فاصلة (,)، فاصلة منقوطة (؛)، علامة جدولة، أو مخصّص (يظهر حقل بمحرف واحد للقيمة المخصّصة، افتراضيًّا |).
    • علامة اقتباس — مزدوجة (") أو مفردة (').
    • صف العناوين — فعِّله حين يحوي الصفّ 1 أسماء الأعمدة؛ وألغِ تفعيله للبيانات بلا عناوين. فنمط العنوان يقود كلًّا من التحليل وشكل مخرج JSON.
  4. رتّب البيانات اختياريًّا: اختر عمود الفرز حسب (مُعبَّأ من عنوانك، أو فهرس رقمي للمدخل بلا عنوان)، واختر الترتيب تصاعديًّا أم تنازليًّا، وفعِّل إزالة التكرار لإسقاط الصفوف المكرَّرة بالكامل.
  5. اقرأ النتيجة في لوحة الإخراج (أو شبكة المعاينة في وضع المعاينة). وتُظهر الترويسة حجم المخرج وعدد الصفوف؛ واستخدم نسخ لأخذه. ومسح تُعيد اللوحتين.

إن كان لصفّ عدد حقول خاطئ، أو كان المدخل مُعوَجًا، يُبلِّغ شريط الحالة عن رقم الصفّ فتُصلح المصدر بدلًا من التخمين.

الميزات الرئيسية#

  • مخرج مصطفّ بالأعمدة. نمط المحاذاة يحشو كلّ خلية إلى أطول قيمة في عمودها، فـ CSV بدت كجدار من الفواصل فجأة تصطفّ — لا يُقدَّر بثمن لاكتشاف صفّ ينقصه حقل.
  • كلا الاتجاهين إلى JSON. يُنتج CSV ← JSON مصفوفة كائنات (مع العناوين) أو مصفوفة مصفوفات (بلا عناوين). ويقبل JSON ← JSON أيّ من الشكلين مجدّدًا.
  • يَعي الفواصل. بدِّل بين الفاصلة، والفاصلة المنقوطة (شائعة في اللغات الأوروبية حيث الفاصلة هي الفاصل العشري)، وعلامة الجدولة (TSV)، أو محرف مخصّص. والتلميح أسفل شريط الأدوات يُذكِّرك لماذا تُوجَد الفواصل المنقوطة.
  • الفرز وإزالة التكرار. يَفرز عدديًّا حين تبدو كلتا القيمتين كرقمين، وإلا فمعجميًّا. وتُزيل إزالة التكرار التكرارات الكاملة للصفّ (صفّ العنوان محفوظ دائمًا).
  • معاينة آمنة. تُبنى شبكة المعاينة بواجهات DOM آمنة — textContent فقط، لا innerHTML من بياناتك أبدًا — فحتى CSV مليء بوسوم <script> يُعرَض بوصفه نصًّا خاملًا.
  • من جهة العميل صارمة، مع Web Worker للمدخلات فوق 1 ميغابايت.

مثال عملي#

قائمة صغيرة لُصقت بصفٍّ مكرَّر وعنوان:

المدخل:

name,role,city
Ada,Engineer,London
Lin,Designer,Taipei
Ada,Engineer,London
Sam,Manager,Berlin

الصفّ الثالث يكرّر Ada تمامًا. انقر محاذاة مع فاصل فاصلة (,)، والعنوان مُفعَّل، ثمّ فعِّل إزالة التكرار:

name role     city
Ada  Engineer London
Lin  Designer Taipei
Sam  Manager  Berlin

كلّ عمود محشوّ إلى أعرض قيمة له، فتصطفّ الأسطر الثلاثة ويختفي Ada المكرَّر — يُبلِّغ شريط الحالة عن إزالة صفٍّ واحد. والآن بدِّل الوضع إلى JSON (CSV ← JSON) بالخيارات نفسها:

[
  { "name": "Ada", "role": "Engineer", "city": "London" },
  { "name": "Lin", "role": "Designer", "city": "Taipei" },
  { "name": "Sam", "role": "Manager", "city": "Berlin" }
]

صار صفّ العنوان مفاتيح كائنات؛ وصار كلّ صفّ بيانات متبقٍّ كائنًا. والفرز حسب role سيعيد ترتيب الصفوف معجميًّا؛ والفرز حسب عمود رقمي سيفرز حسب القيمة.

الأسئلة الشائعة#

متى أستخدم الفاصلة المنقوطة بدلًا من الفاصلة؟#

حين تحتوي البيانات فواصل بوصفها جزءًا من القيم وأنت في لغة (معظم أوروبا، أمريكا اللاتينية) تكون الفاصلة فيها هي الفاصل العشري — فـ 3,14 هناك رقمٌ مفرد، لا حقلين. وExcel في تلك اللغات يُصدِّر CSV بالفواصل المنقوطة افتراضيًّا. وإن فُتح ملفّ بكلّ شيء مُكدَّس في العمود A، فالفاصل خاطئ على الأرجح؛ بدِّل إلى الفاصلة المنقوطة وأعد المحاذاة.

ماذا تُقارن إزالة التكرار فعلًا؟#

تُقارن صفوفًا كاملة للمساواة التامة، بعد فصل صفّ العنوان. ولا يكون صفّان مكرَّرين إلا إذا طابق كلّ حقل، خليةً بخلية. ولا يُعتبر صفّ العنوان مكرَّرًا أبدًا ويُحفَظ دائمًا. أمّا التطابقات الجزئية (الاسم نفسه، مدينة مختلفة) فلا تُعدّ تكرارًا.

كيف يُقرِّر CSV ← JSON بين الكائنات والمصفوفات؟#

إن كان صف العناوين مُفعَّلًا، يصير كلّ صفّ بيانات كائنًا مفاتيحه أسماء العناوين. وإن كان مُعطَّلًا، يصير كلّ صفّ مصفوفة سلاسل، موسومةً Col 1 وCol 2 وهكذا في المعاينة فقط — مخرج JSON مصفوفة عادية من مصفوفات. فعِّل خيار العنوان حين يكون الصفّ 1 أسماء أعمدة فعلًا؛ وألغِ تفعيله للشبكات الرقمية الخام.

هل بياناتي مرفوعة إلى أيّ مكان؟#

لا. يجري التحليل وإلغاء التحليل في متصفحك عبر papaparse، المُدمَج مع الصفحة. وتُعالَج الملفّات فوق 1 ميغابايت في Web Worker لتبقى الواجهة متجاوبة، لكنّ البيانات لا تغادر جهازك أبدًا.