تحويل CSV إلى YAML
YAML هو ما تتكون منه ملفات التكوين الحديثة: بيانات Kubernetes، وسير عمل GitHub Actions، وDocker Compose، وكتيبات Ansible، وتركيبات Rails. يقرأ هذا المحول ملف CSV وينتج تسلسل YAML حيث يصبح كل صف تعيينًا مرتبطًا بصف الرأس. يستخدم الإخراج مسافة بادئة ذات مسافتين وعتبة سطرية مكونة من 4 مستويات، والتي تتوافق مع نمط معظم المحررات وأدوات الفحص (linters).
كيف يصبح CSV YAML
-
1
الصق ملف CSV
يتم تحميل العينة مسبقًا حتى تتمكن من رؤية شكل الإخراج الافتراضي؛ استبدلها ببياناتك.
-
2
اختر المحدد
فاصلة بشكل افتراضي. أدخل `\t` للإدخال المفصول بعلامات جدولة أو أي حرف فردي آخر يستخدمه ملفك.
-
3
تصبح الرؤوس مفاتيح
يتم التعامل مع الصف 1 كرأس. تصبح صفوف البيانات تعيينات ضمن تلك المفاتيح بنفس ترتيب الأعمدة المصدر.
-
4
YAML ملقاة بأمان
يتم تقديم المخرجات بواسطة مكون Symfony YAML، الذي يقتبس القيم في حالة حدوث غموض مع القيم المنطقية أو الأرقام أو التواريخ.
مراوغات YAML التي يجب أن تعرفها قبل لصق الإخراج
من المعروف أن YAML متسامح على السطح ومليء بالفخاخ تحته. تتعامل أداة الإخراج (dumper) مع معظمها، ولكن لا يزال يتعين على بياناتك أن تنجو من التحويل ذهابًا وإيابًا.
مشكلة النرويج والأصدقاء
يتعامل YAML 1.1 مع no، yes، on، off، true، false، y، n (ونماذجها الكبيرة) كقيم منطقية. وهذا يعني أن عمود رمز البلد الذي يحتوي على NO للنرويج يمكن أن يتحول بصمت إلى false.
| خلية المصدر | منبعث كـ (غير مقتبس) | يُقصد به عادةً |
|---|---|---|
NO |
false |
الدولة النرويج |
ON |
true |
ولاية أونتاريو |
123 |
123 |
إما رقم أو معرف |
0100 |
64 (ثماني!) |
رمز الصفر البادئ |
تقتبس أداة الإخراج القيم الخطرة تلقائيًا، ولكن إذا كنت ترى أنواعًا خاطئة في مخرجاتك، فاستخدم محللات YAML 1.2 في الأنظمة اللاحقة أو اقتبس القيم التي تهمك بشكل صريح.
خيارات التنسيق
- مسافة بادئة ذات مسافتين. معيار لمعظم المحررين؛ linters مثل
yamllintالافتراضي لهذا. - العتبة المضمنة 4. تتم طباعة الهياكل المتداخلة بعمق على سطر واحد أسفل المستوى الرابع، وفوقه تتوسع إلى أسطر متعددة. اضبطها في الأنظمة اللاحقة إذا كنت تريد كتلًا أكثر صرامة.
- لا يتم إنشاء نقاط الارتساء والأسماء المستعارة. كل صف عبارة عن تعيين جديد حتى لو تكررت الصفوف.
مثال الإخراج
- name: Alice
age: 30
- name: Bob
age: 25
متى يتم اختيار YAML بدلاً من JSON
- التكوينات التي تم تحريرها يدويًا، حيث تكون التعليقات والسلاسل متعددة الأسطر مهمة.
- بيانات Kubernetes، وخطوط أنابيب CI، وكتيبات Ansible.
- أي سياق يقرأ فيه الأشخاص الملف بقدر ما تقرأه الأجهزة.
بخلاف ذلك، يكون JSON أكثر صرامة وأسرع في التحليل - يفضل استخدامه للتنسيقات السلكية والحمولات النافعة المولدة.
الأسئلة الشائعة
يفسر YAML 1.1 NO باعتباره منطقيًا. يقتبس المحول قيمًا محفوفة بالمخاطر، ولكن إذا كان المحلل اللغوي لا يزال يفرض الأنواع، فاقتبس الخلايا التي بها مشكلات قبل لصق المخرجات أو قم بالتبديل إلى محلل YAML 1.2 الذي يتعامل مع تلك الخلايا كسلاسل عادية.
ليس مع هذا المحول، يصبح كل صف تعيينًا مسطحًا. بالنسبة إلى YAML المتداخل، أنشئ برنامجًا نصيًا صغيرًا حول مكتبة YAML، أو قم بالتحويل إلى JSON أولاً وشكل ذلك في محرر JSON.
يتم تحليل الخلايا باستخدام str_getcsv باستخدام المحدد الذي اخترته. تحافظ القيم المقتبسة على المحددات وعلامات الاقتباس المضمنة بنفس الطريقة التي تتبعها في محلل CSV الحقيقي.
نعم. يتم إرسال ملف CSV الذي تلصقه إلى خادمنا، لأن التحليل والتسلسل إلى YAML يتمان هناك. يُستخدم فقط لإنشاء نتيجة YAML ولا يتم تخزينه.
أدوات ذات صلة
مرجع جدول ASCII
جدول ASCII كامل من 0 إلى 127 مع التمثيل العشري والست عشري والثماني والثنائي والمرجع الرقمي في HTML لكل محرف، بما في ذلك أكواد التحكم مثل NUL وLF وDEL.
مرجع أحرف HTML
قائمة قابلة للبحث بكيانات HTML، مع رموزها المسمّاة والرقمية، بالإضافة إلى خيار النسخ بنقرة واحدة للأحرف والرموز الخاصة.
مرجع اختصارات لوحة المفاتيح
ابحث في الاختصارات الافتراضية الموثقة لـ VS Code وChrome وBash مع GNU Readline على macOS وWindows وLinux.
عدّاد FPS
قِس معدل الإطارات FPS في المتصفح عبر requestAnimationFrame: تنعيم، وأدنى وأقصى معدل إطارات، وحد تنبيه، ورسم بياني اختياري. يعمل محليًا بلا رفع ملفات وبلا API.
منسق JSON
الصق JSON لتنسيقه بمسافتين أو أربع مسافات، أو تصغيره إلى ناتج مضغوط، أو فحص بنيته بسرعة قبل نسخ النتيجة.
مولد لوحة الألوان
أنشئ لوحات ألوان أحادية أو متجاورة أو مكملة أو ثلاثية أو رباعية من لون HEX أساسي، ثم صدّر متغيرات CSS جاهزة للنسخ.
الأداة متاحة بلغات أخرى
- CSV → YAML 변환기 [KO]
- Chuyển đổi từ CSV sang YAML [VI]
- CSV-naar-YAML-converter [NL]
- CSV 转 YAML 转换器 [ZH]
- CSV zu YAML Konverter [DE]
- CSV to YAML Converter [EN]
- Konverter CSV ke YAML [ID]
- CSV-till-YAML-omvandlare [SV]
- Konwerter CSV na YAML [PL]
- เครื่องแปลงข้อมูลจาก CSV เป็น YAML [TH]
- Convertidor de CSV a YAML [ES]
- Convertisseur CSV en YAML [FR]
- Conversor de CSV para YAML [PT]
- CSV→YAMLコンバーター [JA]
- CSV'den YAML'a Dönüştürücü [TR]
- Convertitore da CSV a YAML [IT]
- Конвертер CSV в YAML [RU]