Heim >Backend-Entwicklung >C++ >Wie kann ich eine CSV-Datei mit Komma-delimitierten Spalten in C#analysieren?

Wie kann ich eine CSV-Datei mit Komma-delimitierten Spalten in C#analysieren?

Susan Sarandon
Susan SarandonOriginal
2025-01-26 17:11:10879Durchsuche

How Can I Parse a CSV File with Comma-Delimited Columns in C#?

Effizienter Umgang mit Kommas beim C#-CSV-Parsing

Das Parsen von CSV-Dateien wird komplex, wenn es um durch Kommas getrennte Spalten geht. Dieser Artikel demonstriert eine robuste Lösung mit der Klasse Microsoft.VisualBasic.FileIO.TextFieldParser in C#.

Die TextFieldParser-Klasse bietet einen erheblichen Vorteil, indem sie sowohl Felder in Anführungszeichen als auch Felder ohne Anführungszeichen intelligent verarbeitet. Dies gewährleistet eine genaue Datenextraktion, selbst wenn Kommas innerhalb des Spaltenwerts erscheinen.

Lassen Sie uns dies anhand eines praktischen Beispiels veranschaulichen:

<code class="language-csharp">using Microsoft.VisualBasic.FileIO;
using System.IO;

string csvData = "2,1016,7/31/2008 14:22,Geoff Dalgas,6/5/2011 22:21,http://stackoverflow.com,\"Corvallis, OR\",7679,351,81,b437f461b3fd27387c5d8ab47a293d35,34";

using (TextFieldParser parser = new TextFieldParser(new StringReader(csvData)))
{
    parser.HasFieldsEnclosedInQuotes = true;
    parser.SetDelimiters(",");

    while (!parser.EndOfData)
    {
        string[] fields = parser.ReadFields();
        foreach (string field in fields)
        {
            Console.WriteLine(field);
        }
    }
}</code>

Der Code initialisiert ein TextFieldParser mit den CSV-Daten. Entscheidend ist, dass HasFieldsEnclosedInQuotes auf true gesetzt ist, damit der Parser Felder in Anführungszeichen korrekt interpretieren kann. Als Trennzeichen wird ein Komma verwendet.

Die while-Schleife durchläuft jede Zeile und ReadFields() teilt die Zeile in ein Array von Feldern. Der Code gibt dann jedes Feld auf der Konsole aus. Die using-Anweisung stellt eine ordnungsgemäße Ressourcenbereinigung sicher.

Diese Methode bietet eine zuverlässige Möglichkeit, CSV-Daten zu analysieren und Spaltenwerte, die eingebettete Kommas in Anführungszeichen enthalten, genau beizubehalten.

Das obige ist der detaillierte Inhalt vonWie kann ich eine CSV-Datei mit Komma-delimitierten Spalten in C#analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn