Heim >Backend-Entwicklung >C++ >Wie kann ich eine CSV-Datei mit Komma-delimitierten Spalten in C#analysieren?
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!