كيفية استخدام كسفهيلبر لقراءة السطر الثاني في ملف كسف

StackOverflow https://stackoverflow.com//questions/25014046

  •  21-12-2019
  •  | 
  •  

سؤال

لدي ملف كسف مع سطرين ، أول واحد هو خط الرأس ، والذي يتضمن 36 أعمدة مفصولة ,

السطر الثاني هو القيم ، وهي 36 قيمة مفصولة ,

أريد أن أقرأ السطر الثاني ، وجدت أن كل الناس يتحدثون عن حزمة كسفهيلبر, ، لذلك أنا تحميل البرنامج ، ولكن ليس لديها أي dll إضافة إلى مشروعي.

سؤالي هو كيفية إدراجه وكيفية قراءة السطر الثاني.

وأنا أعلم أنني يمكن تثبيته باستخدام Install-Package CsvHelper لكنني لا أريد بهذه الطريقة لأنني أريد نشر هذا التطبيق على الخادم.وبالتالي ، أفضل إذا كان هناك طريقة مثل add reference أو شيء من هذا القبيل.

إذا كنت أعرف كيفية إدراجه ، فلن تكون قراءة السطر الثاني صعبة.وأود أن تفعل شيئا من هذا القبيل:

  1. تحميل ملف كسف
  2. اقرأ السطر الأول وتجاهله.
  3. قراءة السطر الثاني وتقسيمه من قبل ,.
هل كانت مفيدة؟

المحلول

يمكنك استخدام TextReader.ReadLine() لتخطي السطر الأول:

using (TextReader reader = File.OpenText("filename"))
{
    reader.ReadLine();
    // now initialize the CsvReader
    var parser = new CsvReader( reader ); // ...
}

نصائح أخرى

الإجابة المقبولة هي حل بديل للمشكلة ، ولكن المكتبة لديها حل من الدرجة الأولى لهذه الحالة الشائعة
CsvConfiguration الطبقة لديها خاصية HasHeaderRecord والتي يمكن ضبطها على true, ، سيؤدي هذا إلى تخطي المكتبة السطر الأول في الملف.

CsvConfiguration configuration = new CsvConfiguration { HasHeaderRecord = true };

using (TextReader sr = new StringReader(fileContent))
{
    CsvReader reader = new CsvReader(sr, configuration);
}

هنا مقتطف من الوثائق

يخبر هذا العلم القارئ / الكاتب إذا كان هناك صف رأس في ملف كسف.

تحديث في الإصدار الأحدث من المكتبة الطبقة CsvConfiguration تمت إعادة تسميته للتو إلى Configuration

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top