Heim >Backend-Entwicklung >C++ >Wie analysiere ich CSV-Dateien mit durch Kommas getrennten Feldern in Anführungszeichen mit 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:
<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>
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!