Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya dapat membaca dan mengendalikan fail CSV yang rosak di C#?

Bagaimanakah saya dapat membaca dan mengendalikan fail CSV yang rosak di C#?

Patricia Arquette
Patricia Arquetteasal
2025-01-31 14:26:10288semak imbas

mengendalikan fail CSV yang rosak di C#

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.

menggunakan microsoft.visualbasic untuk parsing yang diselaraskan

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>

Pengesanan dan Pengurusan Talian yang Rosak Kukuh

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>

Penambahbaikan selanjutnya

Untuk pengendalian ralat yang dipertingkatkan dan pengesahan data yang lebih canggih, pertimbangkan sumber -sumber ini:

  • MSDN: Membaca dari fail teks yang dibatasi koma dalam Visual Basic
  • msdn: kelas teksfieldparser

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn