Heim > Backend-Entwicklung > C++ > Wie analysiere ich CSV-Dateien mit durch Kommas getrennten Feldern in Anführungszeichen mit C#?

Wie analysiere ich CSV-Dateien mit durch Kommas getrennten Feldern in Anführungszeichen mit C#?

DDD
Freigeben: 2025-01-26 17:06:10
Original
1027 Leute haben es durchsucht

How to Parse CSV Files with Comma-Delimited Fields Enclosed in Quotes Using C#?

Umgang mit Kommas in Anführungszeichen beim CSV-Parsing mit C#

Das korrekte Parsen von CSV-Dateien wird kompliziert, wenn Felder selbst Kommas enthalten. Dieser Artikel zeigt eine robuste C#-Lösung zum Extrahieren von Daten aus solchen CSV-Dateien und konzentriert sich dabei auf Szenarien, in denen durch Kommas getrennte Felder in doppelte Anführungszeichen gesetzt werden.

Die Herausforderung entsteht, wenn ein Feld wie „Corvallis, OR“ in seinem zitierten Inhalt ein Komma enthält. In diesem Fall würde die standardmäßige Aufteilung von Zeichenfolgen auf Basis von Kommas fehlschlagen. Die Lösung liegt in der Verwendung der Klasse Microsoft.VisualBasic.FileIO.TextFieldParser.

Diese Klasse wurde speziell für die Verarbeitung von durch Trennzeichen getrennten Dateien mit Feldern in Anführungszeichen entwickelt. Hier ist ein C#-Codebeispiel:

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);
        }
    }
}
Nach dem Login kopieren

Dieses Code-Snippet analysiert die CSV-Daten effektiv, verarbeitet in Anführungszeichen eingeschlossene Felder korrekt und stellt sicher, dass Kommas in diesen Anführungszeichen als Teil des Felds und nicht als Trennzeichen behandelt werden. Die using-Anweisung stellt eine ordnungsgemäße Ressourcenverwaltung sicher, indem die TextFieldParser-Anweisung automatisch geschlossen wird. Dieser Ansatz garantiert eine genaue Datenextraktion aus CSV-Dateien auch bei komplexen Feldstrukturen.

Das obige ist der detaillierte Inhalt vonWie analysiere ich CSV-Dateien mit durch Kommas getrennten Feldern in Anführungszeichen mit C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage