السلطان
  1. الرئيسية
  2. الأمثلة
  3. صيغ البيانات

قراءة سجلات CSV وحقولها، ومنها حقل بين علامتي تنصيص فيه فاصلة

formats/csv.sn
// قراءة سجلات CSV وحقولها، ومنها حقل بين علامتي تنصيص فيه فاصلة.
استورد std.io.println;
استورد std.text.number;
استورد std.csv.csv;

عرف الرئيسية(): عدد {
    دع المصدر: نص = "الاسم,المدينة\nنور,\"الرياض, السعودية\"\nآدم,تورنتو\n";
    طابق حلل_سي_اس_في(&المصدر) مع
    | نتيجة.خطأ(_) -> { اطبع_سطر("ملف CSV غير صالح"); أرجع 1; }
    | نتيجة.نجح(الوثيقة) -> {
        اطبع_سطر(طبيعي_إلى_نص(عدد_سجلات_سي_اس_في(&الوثيقة)));
        طابق سجل_سي_اس_في_عند(&الوثيقة, 1) مع
        | اختياري.لا_شيء -> { أرجع 2; }
        | اختياري.موجود(السجل) -> {
            اطبع_سطر(طبيعي_إلى_نص(عدد_حقول_سي_اس_في(&السجل)));
            طابق حقل_سي_اس_في_عند(&السجل, 1) مع
            | اختياري.موجود(المدينة) -> { اطبع_سطر(المدينة); }
            | اختياري.لا_شيء -> { };
        };
    };
    أرجع 0;
}

التشغيل

بالمفسر، دون ترجمة:

./build/sultanc run examples/ar/formats/csv.sn

أو ترجمه إلى ملف تنفيذي:

./build/sultanc examples/ar/formats/csv.sn -o build/example && ./build/example

المصدر على GitHub   كل الأمثلة