C# Aplikasi kerap memproses fail CSV. Walau bagaimanapun, data yang rosak boleh menimbulkan cabaran yang ketara. Panduan ini menunjukkan bacaan CSV yang dioptimumkan di C#, memberi tumpuan kepada pengendalian garis yang rosak dengan berkesan.
Elakkan pemisahan nilai CSV manual. Ruang nama Microsoft.VisualBasic
menyediakan kelas TextFieldParser
, memudahkan parsing dengan menentukan jenis medan dan pembatas.
<code class="language-csharp">using Microsoft.VisualBasic; using Microsoft.VisualBasic.FileIO; using (TextFieldParser parser = new TextFieldParser(@"c:\temp\test.csv")) { parser.TextFieldType = FieldType.Delimited; parser.SetDelimiters(","); }</code>
Sebelum memproses setiap baris, laksanakan cek untuk mengenal pasti garis yang rosak. Sebagai contoh, berturut -turut dengan kurang daripada 5 nilai mungkin menunjukkan rasuah:
<code class="language-csharp">while (!parser.EndOfData) { string[] fields = parser.ReadFields(); if (fields.Length < 5) { // Handle corrupted line - e.g., log it or add it to a separate grid for review. } else { // Process valid row } }</code>
Untuk pengendalian ralat yang dipertingkatkan dan pengesahan data yang lebih canggih, pertimbangkan sumber -sumber ini:
Atas ialah kandungan terperinci Bagaimanakah saya dapat membaca dan mengendalikan fail CSV yang rosak di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!