القيم المنفصلة بفاصلة

القيم المنفصلة بفاصلة
ملف CSV بسيط يحتوي على قائمة بأسماء ثلاثة أشخاص والشركات التي يعملون بها
امتداد اسم الملف.csv
نوع الوسائط على الإنترنتtext/csv[1]
معرف النوع الموحد (UTI)نص القيم المنفصلة بفاصلة عامة [2]
تكوين التهاب المسالك البوليةنص القيم المحددة العامة [2]
نوع التنسيقتدفقات البيانات التسلسلية متعددة المنصات
حاوية لمعلومات قاعدة البيانات منظمة كقوائم منفصلة حسب الحقل
معيارطلب التعليقات رقم 4180

القيم المنفصلة بفواصل ( CSV ) هو تنسيق ملف نصي يستخدم الفواصل لفصل القيم، والأسطر الجديدة لفصل السجلات. يخزن ملف CSV البيانات الجدولية (الأرقام والنص) في نص عادي ، حيث يمثل كل سطر من الملف عادةً سجل بيانات واحد . يتكون كل سجل من نفس عدد الحقول ، ويتم فصلها بفواصل في ملف CSV. إذا كان فاصل الحقل نفسه قد يظهر داخل حقل، فيمكن إحاطة الحقول بعلامات اقتباس. [3]

تنسيق ملف CSV هو أحد أنواع تنسيقات الملفات المنفصلة بفواصل . [4] تتضمن الفواصل المستخدمة بشكل متكرر الفاصلة وعلامة التبويب والمسافة والفاصلة المنقوطة. غالبًا ما يتم منح الملفات المنفصلة بفواصل امتداد ".csv" حتى عندما لا يكون فاصل الحقل فاصلة. تحتوي العديد من التطبيقات أو المكتبات التي تستهلك أو تنتج ملفات CSV على خيارات لتحديد فاصل بديل. [5]

إن عدم الالتزام بمعيار CSV RFC 4180 يستلزم دعم مجموعة متنوعة من تنسيقات CSV في برامج إدخال البيانات. وعلى الرغم من هذا العيب، لا يزال CSV منتشرًا على نطاق واسع في تطبيقات البيانات ويدعمه على نطاق واسع مجموعة متنوعة من البرامج، بما في ذلك تطبيقات جداول البيانات الشائعة مثل Microsoft Excel . [6] تشمل الفوائد المذكورة لصالح CSV سهولة القراءة البشرية وبساطة التنسيق. [7]

التطبيقات

CSV هو تنسيق تبادل بيانات شائع مدعوم على نطاق واسع من قبل التطبيقات الاستهلاكية والتجارية والعلمية. من بين أكثر استخداماته شيوعًا نقل البيانات الجدولية [8] [9] بين البرامج التي تعمل بشكل أصلي على تنسيقات غير متوافقة (غالبًا ما تكون خاصة أو غير موثقة). [1] على سبيل المثال، قد يحتاج المستخدم إلى نقل المعلومات من برنامج قاعدة بيانات يخزن البيانات بتنسيق خاص، إلى جدول بيانات يستخدم تنسيقًا مختلفًا تمامًا. يمكن لمعظم برامج قواعد البيانات تصدير البيانات بتنسيق CSV. يمكن لمعظم برامج جداول البيانات قراءة بيانات CSV، مما يسمح باستخدام CSV كتنسيق وسيط عند نقل البيانات من قاعدة بيانات إلى جدول بيانات.

يستخدم CSV أيضًا لتخزين البيانات. تتضمن أدوات علم البيانات الشائعة مثل Pandas خيار تصدير البيانات إلى CSV للتخزين طويل الأجل. [10] تشمل فوائد CSV لتخزين البيانات بساطة CSV التي تجعل تحليل وإنشاء ملفات CSV سهل التنفيذ وسريعًا مقارنة بتنسيقات البيانات الأخرى، وقابلية القراءة البشرية مما يجعل تحرير البيانات أو إصلاحها أبسط، [11] وقابلية الضغط العالية مما يؤدي إلى ملفات بيانات أصغر. [12] بدلاً من ذلك، لا يدعم CSV علاقات البيانات الأكثر تعقيدًا ولا يميز بين القيم الفارغة والقيم الخالية، وفي التطبيقات التي تكون فيها هذه الميزات مطلوبة، يتم تفضيل تنسيقات أخرى.

مواصفة

يقترح RFC  4180 مواصفات لتنسيق CSV؛ ومع ذلك، فإن الممارسة الفعلية غالبًا لا تتبع RFC وقد يشير مصطلح "CSV" إلى أي ملف: [1] [13]

  1. هو نص عادي يستخدم ترميزًا للأحرف مثل ASCII أو ترميزات أحرف Unicode المختلفة (مثل UTF-8 ) أو EBCDIC أو Shift JIS ،
  2. يتكون من سجلات (عادةً سجل واحد لكل سطر)،
  3. مع تقسيم السجلات إلى حقول مفصولة بفواصل (عادةً ما تكون عبارة عن حرف محجوز واحد مثل الفاصلة أو الفاصلة المنقوطة أو علامة التبويب؛ وفي بعض الأحيان قد يتضمن الفاصل مسافات اختيارية)،
  4. حيث يحتوي كل سجل على نفس تسلسل الحقول.

في ظل هذه القيود العامة، يتم استخدام العديد من الاختلافات. لذلك، بدون معلومات إضافية (مثل ما إذا كان يتم احترام RFC 4180)، فإن الملف الذي يزعم ببساطة أنه بتنسيق "CSV" لا يتم تحديده بالكامل. ونتيجة لذلك، تحتوي بعض التطبيقات التي تدعم ملفات CSV على معالجات استيراد نص تسمح للمستخدمين بمعاينة الأسطر القليلة الأولى من الملف ثم تحديد أحرف الفاصلة وقواعد الاقتباس وقص الحقول.

تاريخ

القيم المنفصلة بفواصل هي تنسيق بيانات سبق أجهزة الكمبيوتر الشخصية بأكثر من عقد من الزمان: حيث دعم مُجمِّع IBM Fortran (المستوى H الممتد) في نظام التشغيل OS/360 تنسيق CSV في عام 1972. [14] تم تعريف الإدخال/الإخراج الموجه بالقائمة ("الشكل الحر") في FORTRAN 77 ، وتمت الموافقة عليه في عام 1978. استخدم الإدخال الموجه بالقائمة الفواصل أو المسافات للفاصلات، لذلك لا يمكن لسلاسل الأحرف غير المقتبسة أن تحتوي على فواصل أو مسافات. [15]

كان مصطلح "القيمة المنفصلة بفاصلة" واختصار "CSV" قيد الاستخدام بحلول عام 1983. [16] يوثق الدليل الخاص بجهاز كمبيوتر Osborne Executive، الذي يضم جدول بيانات SuperCalc ، اتفاقية اقتباس CSV التي تسمح للسلاسل باحتواء فواصل مضمنة، لكن الدليل لا يحدد اتفاقية لتضمين علامات الاقتباس داخل السلاسل المقتبسة. [17]

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

تُستخدم الملفات المنفصلة بفواصل لتبادل معلومات قاعدة البيانات بين أجهزة ذات بنيتين معماريتين مختلفتين. تتجنب أحرف النص العادي لملفات CSV إلى حد كبير حالات عدم التوافق مثل ترتيب البايت وحجم الكلمة . يمكن قراءة الملفات إلى حد كبير بواسطة البشر، لذا من الأسهل التعامل معها في غياب التوثيق أو الاتصال المثالي. [18]

كانت مبادرة التقييس الرئيسية - تحويل " التعريف الضبابي بحكم الأمر الواقع " إلى تعريف أكثر دقة وقانونية - في عام 2005، مع RFC  4180، الذي حدد CSV كنوع محتوى MIME . [19] لاحقًا، في عام 2013، تمت معالجة بعض أوجه القصور في RFC 4180 من خلال توصية W3C. [20]

في عام 2014، نشرت IETF RFC 7111 الذي يصف تطبيق شظايا URI على مستندات CSV. يحدد RFC 7111 كيفية تحديد نطاقات الصفوف والأعمدة والخلايا من مستند CSV باستخدام فهرس المواضع. [21]

في عام 2015، قامت W3C ، في محاولة لتعزيز CSV بالدلالات الرسمية ، بنشر المسودات الأولى للتوصيات الخاصة بمعايير بيانات CSV، والتي بدأت كتوصيات في ديسمبر من نفس العام. [22]

الوظائف العامة

تُستخدم تنسيقات CSV بشكل أفضل لتمثيل مجموعات أو تسلسلات من السجلات حيث يحتوي كل سجل على قائمة متطابقة من الحقول. يتوافق هذا مع علاقة واحدة في قاعدة بيانات علائقية ، أو مع البيانات (ولكن ليس الحسابات) في جدول بيانات نموذجي.

يعود تاريخ هذا التنسيق إلى الأيام الأولى للحوسبة التجارية ويُستخدم على نطاق واسع لتمرير البيانات بين أجهزة الكمبيوتر ذات أحجام الكلمات الداخلية المختلفة واحتياجات تنسيق البيانات وما إلى ذلك. ولهذا السبب، تعد ملفات CSV شائعة على جميع منصات الكمبيوتر.

CSV هو ملف نصي محدد يستخدم فاصلة لفصل القيم (تسمح العديد من تطبيقات أدوات استيراد/تصدير CSV باستخدام فواصل أخرى؛ على سبيل المثال، سيؤدي استخدام صف "Sep=^" كأول صف في ملف *.csv إلى جعل Excel يفتح الملف متوقعًا أن يكون الرمز "^" هو الفاصل بدلاً من الفاصلة، "". قد تحظر تطبيقات CSV البسيطة قيم الحقول التي تحتوي على فاصلة أو أحرف خاصة أخرى مثل الأسطر الجديدة. تسمح تطبيقات CSV الأكثر تطورًا بذلك، غالبًا عن طريق طلب أحرف " ( علامة اقتباس مزدوجة ) حول القيم التي تحتوي على أحرف محجوزة (مثل الفواصل أو علامات الاقتباس المزدوجة أو الأقل شيوعًا، الأسطر الجديدة). يمكن بعد ذلك تمثيل أحرف الاقتباس المزدوجة المضمنة بزوج من علامات الاقتباس المزدوجة المتتالية، [23] أو عن طريق وضع بادئة لعلامة الاقتباس المزدوجة بحرف إفلات مثل الشرطة المائلة العكسية (على سبيل المثال في Sybase Central).

لا تقتصر تنسيقات CSV على مجموعة أحرف معينة . [1] فهي تعمل بشكل جيد مع مجموعات أحرف Unicode (مثل UTF-8 أو UTF-16 ) كما هو الحال مع ASCII (على الرغم من أن البرامج المعينة التي تدعم CSV قد يكون لها قيودها الخاصة). عادةً ما تنجو ملفات CSV من الترجمة الساذجة من مجموعة أحرف إلى أخرى (على عكس جميع تنسيقات البيانات الملكية تقريبًا). ومع ذلك، لا يوفر CSV أي طريقة للإشارة إلى مجموعة الأحرف المستخدمة، لذلك يجب توصيل ذلك بشكل منفصل، أو تحديده في الطرف المتلقي (إن أمكن).

لا يمكن تصدير قواعد البيانات التي تتضمن علاقات متعددة كملف CSV واحد [ بحاجة لمصدر ] . وبالمثل، لا يمكن لملف CSV تمثيل البيانات الهرمية أو الموجهة للكائنات بشكل طبيعي . وذلك لأن كل سجل CSV من المتوقع أن يكون له نفس البنية. وبالتالي، نادرًا ما يكون ملف CSV مناسبًا للمستندات التي تم إنشاؤها باستخدام HTML أو XML أو تقنيات الترميز أو معالجة الكلمات الأخرى.

غالبًا ما يكون لقواعد البيانات الإحصائية في مجالات مختلفة بنية تشبه العلاقات بشكل عام، ولكن مع بعض مجموعات الحقول القابلة للتكرار. على سبيل المثال، تكرر قواعد البيانات الصحية مثل المسح الديموغرافي والصحي عادةً بعض الأسئلة لكل طفل من أحد الوالدين (ربما حتى عدد أقصى ثابت من الأطفال). غالبًا ما تتضمن أنظمة التحليل الإحصائي أدوات مساعدة يمكنها "تدوير" مثل هذه البيانات؛ على سبيل المثال، يمكن تقسيم سجل "الوالد" الذي يتضمن معلومات حول خمسة أطفال إلى خمسة سجلات منفصلة، ​​يحتوي كل منها على (أ) المعلومات الخاصة بطفل واحد، و(ب) نسخة من جميع المعلومات غير الخاصة بالطفل. يمكن أن يمثل ملف CSV إما الشكل "الرأسي" أو "الأفقي" لهذه البيانات.

في قاعدة البيانات العلائقية، يمكن التعامل مع القضايا المماثلة بسهولة عن طريق إنشاء علاقة منفصلة لكل مجموعة من هذه المجموعات، وربط السجلات "الفرعية" بالسجلات "الأصلية" ذات الصلة باستخدام مفتاح خارجي (مثل رقم معرف أو اسم للأصل). في لغات الترميز مثل XML، يتم عادةً تضمين مثل هذه المجموعات داخل عنصر أصل وتكرارها حسب الضرورة (على سبيل المثال، <child>عقد متعددة داخل <parent>عقدة واحدة). مع CSV، لا يوجد حل ملف واحد مقبول على نطاق واسع.

التوحيد القياسي

يشير اسم "CSV" إلى استخدام الفاصلة لفصل حقول البيانات. ومع ذلك، يُستخدم مصطلح "CSV" على نطاق واسع للإشارة إلى عائلة كبيرة من التنسيقات التي تختلف في نواحٍ عديدة. تسمح بعض التطبيقات أو تتطلب علامات اقتباس مفردة أو مزدوجة حول بعض الحقول أو كلها؛ ويحتفظ البعض بالسجل الأول كرأس يحتوي على قائمة بأسماء الحقول. مجموعة الأحرف المستخدمة غير محددة: تتطلب بعض التطبيقات علامة ترتيب البايتات (BOM) لفرض تفسير Unicode (أحيانًا حتى علامة ترتيب البايتات UTF-8). [1] يمكن الإشارة إلى الملفات التي تستخدم حرف الجدولة بدلاً من الفاصلة بشكل أكثر دقة باسم "TSV" للقيم المنفصلة بعلامات الجدولة.

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

معايير RFC 4180 وMIME

يقوم المعيار التقني RFC 4180 لعام 2005 بإضفاء الطابع الرسمي على تنسيق ملف CSV ويحدد نوع MIME "text/csv" للتعامل مع الحقول النصية. ومع ذلك، فإن تفسير نص كل حقل لا يزال خاصًا بالتطبيق. يمكن للملفات التي تتبع معيار RFC 4180 تبسيط تبادل CSV ويجب أن تكون قابلة للنقل على نطاق واسع. من بين متطلباتها:

  • أسطر على غرار MS-DOS تنتهي بأحرف (CR/LF) (اختياري للسطر الأخير).
  • سجل رأس اختياري (لا توجد طريقة مؤكدة لمعرفة ما إذا كان موجودًا أم لا، لذا يلزم توخي الحذر عند الاستيراد).
  • يجب أن يحتوي كل سجل على نفس عدد الحقول المنفصلة بفاصلة.
  • من الممكن اقتباس أي حقل (باستخدام علامتي اقتباس مزدوجتين).
  • يجب وضع علامات اقتباس على الحقول التي تحتوي على فاصل أسطر أو علامة اقتباس مزدوجة أو فواصل . (إذا لم يتم وضع علامات الاقتباس، فمن المحتمل أن يكون من المستحيل معالجة الملف بشكل صحيح.)
  • إذا تم استخدام علامات الاقتباس المزدوجة لتضمين الحقول، فيجب تمثيل علامة الاقتباس المزدوجة في الحقل بحرفي اقتباس مزدوجين.

يمكن معالجة التنسيق بواسطة معظم البرامج التي تدعي قراءة ملفات CSV. الاستثناءات هي (أ) قد لا تدعم البرامج فواصل الأسطر داخل الحقول المقتبسة، (ب) قد تخلط البرامج بين العنوان الاختياري والبيانات أو تفسر سطر البيانات الأول كعنوان اختياري، و (ج) قد لا يتم تحليل علامات الاقتباس المزدوجة في الحقل بشكل صحيح تلقائيًا.

حزمة بيانات جدولية خالية من الاحتكاك OKF

في عام 2011، أنشأت مؤسسة المعرفة المفتوحة (OKF) وشركاء مختلفون مجموعة عمل لبروتوكولات البيانات، والتي تطورت لاحقًا إلى مبادرة البيانات الخالية من الاحتكاك. كان أحد التنسيقات الرئيسية التي أصدروها هو حزمة البيانات الجدولية. كانت حزمة البيانات الجدولية تعتمد بشكل كبير على CSV، باستخدامها كتنسيق نقل البيانات الرئيسي وإضافة بيانات التعريف الأساسية للنوع والمخطط (يفتقر CSV إلى أي معلومات عن النوع للتمييز بين السلسلة "1" والرقم 1). [24]

كما قدمت مبادرة البيانات الخالية من الاحتكاك تنسيقًا قياسيًا لوصف لهجات CSV لوصف لهجات مختلفة من CSV، على سبيل المثال تحديد فاصل الحقل أو قواعد الاقتباس. [25]

معيار البيانات الجدولية W3C

في عام 2013، بدأت مجموعة عمل W3C "CSV على الويب" في تحديد التقنيات التي توفر قابلية تشغيل متبادلة أعلى لتطبيقات الويب التي تستخدم CSV أو تنسيقات مماثلة. [26] أكملت مجموعة العمل عملها في فبراير 2016 وأغلقت رسميًا في مارس 2016 بإصدار مجموعة من المستندات وتوصيات W3C [27] لنمذجة "البيانات الجدولية"، [28] وتحسين CSV باستخدام البيانات الوصفية والدلالات .

القواعد الأساسية

يوجد العديد من المستندات غير الرسمية التي تصف تنسيقات "CSV". يحدد IETF RFC 4180 (الملخص أعلاه) تنسيق نوع MIME "text/csv" المسجل لدى IANA .

القواعد النموذجية لهذه المواصفات وتنفيذات "CSV" الأخرى هي كما يلي:

  • CSV هو تنسيق بيانات محدد يحتوي على حقول/أعمدة مفصولة بعلامة الفاصلة والسجلات / الصفوف المنتهية بأسطر جديدة.
  • لا يتطلب ملف CSV ترميزًا محددًا للأحرف أو ترتيب البايتات أو تنسيق إنهاء السطر (بعض البرامج لا تدعم جميع الاختلافات في نهاية السطر).
  • ينتهي السجل عند نهاية سطر. ومع ذلك، يمكن تضمين نهاية السطر كبيانات داخل الحقول، لذا يجب على البرنامج التعرف على فواصل الأسطر المقتبسة (انظر أدناه) من أجل تجميع سجل كامل بشكل صحيح من عدة أسطر ربما.
  • يجب أن تحتوي جميع السجلات على نفس عدد الحقول، وبنفس الترتيب.
  • يتم تفسير البيانات داخل الحقول على أنها تسلسل من الأحرف ، وليس كتسلسل من البتات أو البايتات (انظر RFC 2046، القسم 4.1). على سبيل المثال، يمكن تمثيل الكمية الرقمية 65535 على أنها الأحرف الخمسة ASCII "65535" (أو ربما أشكال أخرى مثل "0xFFFF"، "000065535.000E+00"، إلخ)؛ ولكن ليس كتسلسل من بايتين مخصصين للتعامل معهما كعدد صحيح ثنائي واحد بدلاً من حرفين (على سبيل المثال، تحتوي الأرقام 11264–11519 على فاصلة كبايت من الدرجة الأعلى:) . إذا لم يتم اتباع اتفاقية "النص العادي" هذه، فلن يحتوي ملف CSV على معلومات كافية لتفسيرها بشكل صحيح، ومن المرجح ألا ينجو ملف CSV من النقل عبر بنيات الكمبيوتر المختلفة، ولن يتوافق مع نوع MIME text/csv .ord(',')*256..ord(',')*256+255
  • يجب فصل الحقول المتجاورة بفاصلة واحدة. ومع ذلك، تختلف تنسيقات "CSV" بشكل كبير في هذا الاختيار لحرف الفاصلة. على وجه الخصوص، في الأماكن التي تُستخدم فيها الفاصلة كفاصل عشري، يتم استخدام الفاصلة المنقوطة أو علامة الجدولة أو حرف آخر بدلاً من ذلك.
    1997،فورد،E350
  • يمكن وضع علامات اقتباس على أي حقل (أي وضعه بين علامتي اقتباس مزدوجتين)، بينما يجب وضع علامات اقتباس على بعض الحقول، كما هو محدد في القواعد والأمثلة التالية:
    "1997"، "فورد"، "E350"
  • يجب أن يتم وضع علامتي اقتباس على الحقول التي تحتوي على فواصل مضمنة أو علامات اقتباس مزدوجة.
    1997، فورد، E350، "شاحنة فاخرة للغاية"
  • يجب أن يتم تمثيل كل من أحرف الاقتباس المزدوجة المضمنة بواسطة زوج من أحرف الاقتباس المزدوجة.
    1997، فورد، E350، "سوبر، شاحنة ""فاخرة"""
  • يجب وضع علامتي اقتباس على الحقول التي تحتوي على فواصل أسطر مضمنة (ومع ذلك، لا تدعم العديد من تطبيقات CSV فواصل الأسطر المضمنة).
    1997، فورد، E350، "احصل على واحدة الآن
    "إنهم يسيرون بسرعة"
    
  • في بعض تطبيقات CSV [ which? ] ، يتم تقليم المسافات البادئة واللاحقة وعلامات التبويب (تجاهلها). هذا التقليم محظور بموجب RFC 4180، الذي ينص على "تعتبر المسافات جزءًا من الحقل ولا ينبغي تجاهلها".
    1997، فورد، E350
    ليس نفس الشيء
    1997،فورد،E350
    
  • وفقًا لـ RFC 4180، لا يُسمح بالمسافات خارج علامات الاقتباس في الحقل [ فشل التحقق ] ؛ ومع ذلك، يقول RFC أيضًا أن "المسافات تعتبر جزءًا من الحقل ولا ينبغي تجاهلها". و"يجب على المنفذين أن يكونوا "محافظين في ما يفعلونه، وأن يكونوا ليبراليين في ما يقبلونه من الآخرين" (RFC 793، القسم 2.10) عند معالجة ملفات CSV."
    1997، "فورد"، E350
  • في عمليات تنفيذ CSV التي تقوم بقص المسافات البادئة أو اللاحقة، يجب وضع علامتي اقتباس على الحقول التي تحتوي على مسافات مثل البيانات ذات المعنى.
    1997، فورد، E350، شاحنة فاخرة للغاية
  • لا يلزم تطبيق معالجة الاقتباس المزدوج إلا إذا بدأ الحقل باقتباس مزدوج. ومع ذلك، لاحظ أن الاقتباس المزدوج غير مسموح به في الحقول غير المقتبسة وفقًا لـ RFC 4180.
    لوس أنجلوس،34°03′N،118°15′W
    مدينة نيويورك،40°42′46″N،74°00′21″W
    باريس، 48°51′24″ شمالاً، 2°21′03″ شرقًا
    
  • قد يكون السجل الأول عبارة عن "رأس"، والذي يحتوي على أسماء الأعمدة في كل حقل (لا توجد طريقة موثوقة لمعرفة ما إذا كان الملف يفعل هذا أم لا؛ ومع ذلك، فمن غير الشائع استخدام أحرف أخرى غير الأحرف والأرقام والشرطات السفلية في مثل هذه أسماء الأعمدة).
    السنة،الصنع،الموديل
    1997،فورد،E350
    2000، ميركوري، كوجر
    

مثال

سنة يصنع نموذج وصف سعر
1997 فورد إي 350 التيار المتردد، ABS، القمر 3000.00
1999 شيفروليه مشروع "الطبعة الموسعة" 4900.00
1999 شيفروليه "الإصدار الموسع، كبير جدًا" 5000.00
1996 جيب جراند شيروكي يجب البيع!
​​هواء، فتحة سقف، محملة
4799.00

يمكن تمثيل جدول البيانات أعلاه بتنسيق CSV على النحو التالي:

السنة،الصنع،الموديل،الوصف،السعر
1997، فورد، E350، "AC، ABS، Moon"، 3000.00
1999، شيفروليه، "Venture ""Extended Edition""","، 4900.00
1999، شيفروليه، "Venture" "الإصدار الموسع، كبير جدًا""",",5000.00
1996، جيب، جراند شيروكي، "يجب بيعها!
هواء، فتحة سقف، محملة، 4799.00

مثال على ملف CSV للولايات المتحدة الأمريكية/المملكة المتحدة (حيث يكون الفاصل العشري عبارة عن نقطة/نقطة ويكون فاصل القيمة عبارة عن فاصلة):

السنة، الماركة، الموديل، الطول
1997،فورد،E350،2.35
2000، ميركوري، كوجر، 2.38

مثال على ملف CSV/ DSV أوروبي مماثل (حيث يكون الفاصل العشري عبارة عن فاصلة وفاصل القيمة عبارة عن فاصلة منقوطة):

السنة؛الصنع؛الموديل؛الطول
1997؛فورد؛E350؛2,35
2000؛ ميركوري؛ كوجر؛ 2,38

لا يتوافق الشكل الأخير مع RFC 4180. [29] يمكن تحقيق التوافق من خلال استخدام فاصلة بدلاً من الفاصلة المنقوطة كفاصل ومن خلال اقتباس جميع الأرقام التي تحتوي على علامة عشرية.

دعم التطبيقات

تستخدم بعض التطبيقات تنسيق CSV كتنسيق لتبادل البيانات لتحسين قابلية التشغيل البيني ، وتصدير واستيراد تنسيق CSV. ويستخدم البعض الآخر تنسيق CSV كتنسيق داخلي .

كتنسيق لتبادل البيانات: يتم دعم تنسيق ملف CSV بواسطة جميع جداول البيانات وأنظمة إدارة قواعد البيانات تقريبًا،

  • جداول البيانات بما في ذلك Apple Numbers و LibreOffice Calc و Apache OpenOffice Calc. يدعم Microsoft Excel أيضًا لهجة CSV مع قيود مقارنة ببرامج جداول البيانات الأخرى (على سبيل المثال، اعتبارًا من عام 2019، لا يزال Excel غير قادر على تصدير ملفات CSV بترميز الأحرف UTF-8 المستخدم بشكل شائع، ولا يتم فرض الفاصل ليكون الفاصلة). مستورد LibreOffice Calc CSV هو في الواقع مستورد نص محدد أكثر عمومية، ويدعم فواصل متعددة في نفس الوقت بالإضافة إلى تقليم الحقل.
  • تدعم قواعد البيانات العلائقية المختلفة حفظ نتائج الاستعلام في ملف CSV. يوفر PostgreSQLCOPY الأمر، الذي يسمح بحفظ البيانات وتحميلها من وإلى ملف. يحفظ محتوى الجدول في ملف يسمى . [30]COPY (SELECT * FROM articles) TO '/home/wikipedia/file.csv' (FORMAT csv)articles/home/wikipedia/file.csv
  • يمكن للعديد من برامج المرافق على أنظمة Unix (مثل cut و paste و join و sort و uniq و awk ) تقسيم الملفات على فاصل فاصل، وبالتالي يمكنها معالجة ملفات CSV البسيطة. ومع ذلك، لا تتعامل هذه الطريقة بشكل صحيح مع الفواصل أو الأسطر الجديدة داخل السلاسل المقتبسة.

كتمثيل داخلي (رئيسي أو اختياري). يمكن أن يكون أصليًا أو أجنبيًا ، لكنه يختلف عن تنسيق التبادل ("التصدير/الاستيراد فقط") لأنه ليس من الضروري إنشاء نسخة بتنسيق آخر:

  • توفر بعض جداول البيانات ، بما في ذلك LibreOffice Calc، هذا الخيار، دون إجبار المستخدم على اعتماد تنسيق آخر.
  • تقدم بعض قواعد البيانات العلائقية، عند استخدام SQL القياسي، غلاف بيانات أجنبية (FDW). على سبيل المثال، تقدم PostgreSQL الأمرين [31] و [32] لتكوين أي نوع من أنواع CSV.CREATE FOREIGN TABLECREATE EXTENSION file_fdw
  • توفر قواعد البيانات مثل Apache Hive خيار التعبير عن CSV أو .csv.gz كتنسيق جدول داخلي.
  • يمكن لمحرر emacs العمل على ملفات CSV باستخدام وضع csv-nav. [33]

يدعم تنسيق CSV المكتبات المتوفرة للعديد من لغات البرمجة . توفر معظمها طريقة ما لتحديد فاصل الحقل، والفاصل العشري ، وترميز الأحرف، واتفاقيات الاقتباس، وتنسيق التاريخ، وما إلى ذلك.

البرامج وحدود الصفوف

قد يكون للبرامج التي تعمل مع CSV حدود على الحد الأقصى لعدد الصفوف التي يمكن أن تحتوي عليها ملفات CSV. فيما يلي قائمة بالبرامج الشائعة وحدودها: [34]

  • Microsoft Excel: الحد الأقصى للصف 1,048,576؛
  • Microsoft PowerShell، لا يوجد حد للصف أو الخلية. (الذاكرة محدودة)
  • أرقام Apple: الحد الأقصى 1,000,000 صف؛
  • جداول بيانات Google: حد 5,000,000 خلية (حاصل ضرب الأعمدة والصفوف)؛
  • OpenOffice وLibreOffice: الحد الأقصى للصف هو 1,048,576؛
  • محررات النصوص (مثل WordPad ، TextEdit ، Vim ، وما إلى ذلك): لا يوجد حد لعدد الصفوف أو الخلايا؛
  • قواعد البيانات (أمر COPY وFDW): لا يوجد حد لعدد الصفوف أو الخلايا.

انظر أيضا

مراجع

  1. ^ abcde Shafranovich, Y. (أكتوبر 2005). التنسيق المشترك ونوع MIME لملفات CSV. IETF . ص. 1. doi : 10.17487/RFC4180 . RFC 4180.
  2. ^ ab "commaSeparatedText". وثائق مطوري Apple: معرفات النوع الموحد . Apple Inc.
  3. ^ "تنسيق ملف القيم المنفصلة بفواصل CSV - كيفية - Creativyst - استكشاف وتصميم وتسليم.(sm)". Creativyst Software . مؤرشف من الأصل في 1 أبريل 2021 . تم الاسترجاع في 22 أغسطس 2023 .
  4. ^ دليل إدارة IBM DB2. IBM.
  5. ^ "ما هي التنسيقات المتاحة". يوروستات . مؤرشف من الأصل في 26 يوليو 2023. اطلع عليه بتاريخ 22 أغسطس 2023 .
  6. ^ "استيراد أو تصدير ملفات نصية (.txt أو .csv)". دعم Microsoft . تم الاسترجاع في 2023-08-16 .
  7. ^ "ما هو ملف CSV: دليل شامل". flatfile.com . تم الاسترجاع في 2024-10-28 .
  8. ^ "CSV - قيم مفصولة بفواصل" . تم الاسترجاع في 2017-12-02 .
  9. ^ "ملفات CSV" . تم الاسترجاع في 4 يونيو 2014 .
  10. ^ "pandas.DataFrame.to_csv — pandas 2.0.3 documentation". pandas.pydata.org . تم الاسترجاع في 2023-08-16 .
  11. ^ "تنسيق CSV: التاريخ والمزايا ولماذا لا يزال شائعًا". ByteScout . 2021-09-15 . تم الاسترجاع في 2023-08-16 .
  12. ^ "مقارنة بين تنسيقات الملفات المختلفة في البيانات الضخمة". www.adaltas.com . 2020-07-23 . تم الاسترجاع 2023-08-16 .
  13. ^ "تنسيق الملف القياسي للقيم المنفصلة بفاصلة (CSV)". Edoceo, Inc. تم الاسترجاع في 4 يونيو 2014 .
  14. ^ منتجات برنامج IBM FORTRAN لنظام التشغيل ومكون CMS لـ VM/370 معلومات عامة (PDF) (الطبعة الأولى)، يوليو 1972، ص. 17، GC28-6884-0 ، تم الاسترجاع في 5 فبراير 2016 ، بالنسبة للمستخدمين الذين اعتادوا على معالجات FORTRAN IV G وH السابقة، فهذه هي قدرات اللغة الجديدة الرئيسية
  15. ^ "إدخال وإخراج موجه بالقائمة"، مرجع لغة فورتران 77 ، أوراكل
  16. ^ "SuperCalc²، حزمة جداول بيانات لـ IBM، CP/M" . تم الاسترجاع في 11 ديسمبر 2017 .
  17. ^ "Comma-Separated-Value Format File Structure". 1983. تم الاسترجاع في 11 ديسمبر 2017 .
  18. ^ "CSV، قيم مفصولة بفاصلة (RFC 4180)" . تم الاسترجاع في 4 يونيو 2014 .
  19. ^ RFC 4180: التنسيق المشترك ونوع MIME لملفات القيم المنفصلة بفاصلة (CSV). doi : 10.17487/RFC4180 . RFC 4180 . تم الاسترجاع في 22 ديسمبر 2020 .
  20. ^ راجع sparql11-results-csv-tsv، أول توصية من W3C في CSV وملء بعض أوجه القصور في RFC 4180.
  21. ^ RFC 7111: معرفات شظايا URI لنوع الوسائط text/csv. doi : 10.17487/RFC7111 . RFC 7111 . تم الاسترجاع في 22 ديسمبر 2020 .
  22. ^ "نموذج للبيانات الجدولية والبيانات الوصفية على الويب – توصية W3C 17 ديسمبر 2015" . تم الاسترجاع في 23 مارس 2016 .
  23. ^ * Creativyst (2010)، كيفية: تنسيق ملف القيمة المنفصلة بفاصلة (CSV)، creativyst.com ، تم الاسترجاع في 24 مايو 2010
  24. ^ "حزمة البيانات الجدولية". مواصفات البيانات الخالية من الاحتكاك .
  25. ^ "لهجة CSV". مواصفات بيانات خالية من الاحتكاك .
  26. ^ "CSV on the Web Working Group". W3C CSV WG. 2013. تم الاسترجاع في 2015-04-22 .
  27. ^ CSV على مستودع الويب (على GitHub)
  28. ^ نموذج للبيانات الجدولية والبيانات الوصفية على الويب (توصية W3C)
  29. ^ يذكر Shafranovich (2005) "داخل الرأس وكل سجل، قد يكون هناك حقل واحد أو أكثر، مفصولة بفاصلات."
  30. ^ "Documentation: 14: COPY". PostgreSQL . تم الاسترجاع في 2024-05-12 .
  31. ^ "Documentation: 14: F.35. postgres_fdw". PostgreSQL. 2022-02-10 . تم الاسترجاع في 2022-03-04 .
  32. ^ "Documentation: 14: F.14. file_fdw". PostgreSQL. 2022-02-10 . تم الاسترجاع في 2022-03-04 .
  33. ^ "EmacsWiki: Csv Nav". www.emacswiki.org .
  34. ^ "فهم حدود CSV والصفوف" . تم الاسترجاع في 28 فبراير 2021 .

قراءة إضافية

  • "دليل إدارة IBM DB2 - تنسيقات الملفات LOAD وIMPORT وEXPORT". IBM . مؤرشف من الأصل في 2016-12-13 . تم الاسترجاع في 2016-12-12 .(يحتوي على أوصاف ملفات للملفات ASCII المحددة (.DEL) (بما في ذلك الملفات المنفصلة بفاصلة وفاصلة منقوطة) وملفات ASCII غير المحددة (.ASC) لنقل البيانات.)
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=القيم المنفصلة بفواصل&oldid=1253832070"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate