محلل CSV

حلّل واعرض وحلّل بيانات CSV فوراً في متصفحك. يدعم فواصل متعددة وحقول بين علامات اقتباس وأعمدة قابلة للفرز.

فواصل متعددة أعمدة قابلة للفرز 100% من جانب العميل

أفلت ملف CSV هنا أو انقر للاستعراض

يقرأ ملفات .csv و .tsv و .txt حتى 10 ميغابايت — محليًا في متصفحك، ولا يُرفع أي شيء.

كيفية استخدام محلل CSV

1

الصق أو اكتب CSV

الصق بيانات CSV، أو أفلت ملف .csv في منطقة الرفع، أو انقر «تحميل CSV تجريبي» للتجربة.

2

اختر الفاصل

حدد الفاصل أو استخدم الكشف التلقائي. قم بتبديل خيار صف الترويسة إذا كان CSV يحتوي على أسماء أعمدة.

3

عرض وفرز

يظهر الجدول المحلل فوراً. انقر على أي رأس عمود لفرز البيانات تصاعدياً أو تنازلياً.

ما هو CSV؟

CSV (القيم المفصولة بفواصل) هو تنسيق نصي بسيط لتخزين البيانات الجدولية. يمثل كل سطر صفاً، وتُفصل القيم داخل الصف بفاصل — غالباً فاصلة. تُستخدم ملفات CSV على نطاق واسع لتبادل البيانات بين التطبيقات وقواعد البيانات وجداول البيانات.

الميزات الرئيسية لـ CSV

تنسيق نصي عادي مقروء بشرياً وقابل للتعديل في أي محرر نصوص

مدعوم عالمياً من جداول البيانات وقواعد البيانات ولغات البرمجة

يدعم الحقول بين علامات اقتباس للتعامل مع الفواصل والأسطر الجديدة والأحرف الخاصة داخل القيم

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

ما هي الفوالب التي يدعمها هذا المحلل؟

يدعم هذا المحلل الفاصلة (,) والفاصلة المنقوطة (;) والجدولة والشريط (|). يمكنك أيضاً استخدام خيار الكشف التلقائي الذي يحلل بياناتك لتحديد الفاصل الأكثر احتمالاً.

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

تُعامل الحقول المحاطة بعلامات اقتباس مزدوجة كقيمة واحدة. هذا يسمح للحقول بأن تحتوي على حرف الفاصل والأسطر الجديدة وعلامات الاقتباس المُهربة (تُمثل بعلامتي اقتباس مزدوجتين ""). على سبيل المثال، "أحمد، محمد" تُحلل كحقل واحد يحتوي على فاصلة.

هل يتم إرسال بياناتي إلى أي خادم؟

لا. جميع عمليات تحليل CSV تتم بالكامل في متصفحك باستخدام JavaScript. بياناتك لا تغادر جهازك أبداً، مما يضمن خصوصية وأمان كاملين.

هل يمكنني رفع ملف CSV بدلًا من لصقه؟

نعم. أفلت ملف .csv أو .tsv أو .txt في منطقة الرفع (أو انقر للاستعراض). يُقرأ الملف محليًا عبر FileReader API في المتصفح ولا يُرسل أبدًا إلى أي خادم. الملفات حتى 10 ميغابايت مدعومة؛ قسّم الملفات الأكبر أولًا.

ما الذي توحّده مواصفة RFC 4180 فعلياً؟

القواعد الشائعة لصيغة CSV: الحقول مفصولة بفواصل، والسجلات بنهايات أسطر CRLF، والحقول التي تحتوي على فواصل أو علامات اقتباس أو أسطر جديدة تُغلَّف بعلامات اقتباس مزدوجة، وعلامة الاقتباس المدمجة تُكتب كعلامتي اقتباس متتاليتين. تشير المواصفة أيضاً إلى أن السجل الأول قد يكون رأساً للجدول. لكن الملفات الواقعية تنتهك كل هذه القواعد - نهايات أسطر LF مجردة، وغياب علامات الاقتباس، وفواصل زائدة في نهايات السطور - لذا يتسامح هذا المحلل مع التنويعات الشائعة مع الإشارة إلى المشاكل الهيكلية.

كيف أختار الفاصل المناسب، أو أترك الأداة تكتشفه؟

الفاصلة هي الافتراضي وفق RFC 4180، لكن الإعدادات الإقليمية الأوروبية غالباً ما تصدّر ملفات مفصولة بفواصل منقوطة (يفعل Excel ذلك في المواضع التي تكون فيها الفاصلة العشرية هي المعيار)، كما تنجو علامات الجدولة عند النسخ واللصق من جداول البيانات. يعمل الاكتشاف بعدّ الفواصل المرشحة في كل سطر واختيار الأكثر اتساقاً - يكتشف هذا المحلل تلقائياً الفاصلة والفاصلة المنقوطة والشرطة العمودية وعلامة الجدولة، ويتيح لك التحديد اليدوي متى شئت.

ما الذي يُفسد ملف CSV عادةً؟

أبرز الأسباب: حقول غير محاطة بعلامات اقتباس تحتوي على الفاصل؛ عدد فردي من علامات الاقتباس يُفسد كل صف يليها؛ صفوف غير متساوية بأعمدة أكثر أو أقل من رأس الجدول؛ وعدم تطابق الترميز، مثل نص windows-1252 يظهر بأحرف مشوهة أو BOM تابع لـ UTF-8 يلتصق بأول خلية في رأس الجدول. يُبلِغ هذا المحلل عن عدم تطابق أطوال الصفوف ليسهل اكتشاف السطر المعطوب.

كيف يتعامل هذا المحلل مع ملفات CSV الكبيرة؟

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

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}