Heim >Backend-Entwicklung >C++ >Wie gehe ich mit CSV-Spalten um, die eingebettete Kommas in C# enthalten?
C#Verarbeitung von CSV -Spalten mit Kommas
verarbeiten Wenn Sie die CSV -Datei teilen, können Sie Spalten mit Kommas begegnen, z. B. eingebettete Adressen oder Beschreibungen. Obwohl die traditionelle Grenzabteilungsmethode in diesem Fall ausfällt, gibt es in C#einige starke Lösungen.
Eine Methode besteht darin, die
Klasse zu verwenden. Solche Textdateien, die durch die Trennung der Verarbeitung getrennt sind, dürfen eine spezifische Verarbeitung der Felder der Anführungszeichen durchführen.
Microsoft.VisualBasic.FileIO.TextFieldParser
Betrachten Sie die folgenden CSV -Beispiele, die Adressspalte enthält eingebettete Kommas:
Um zur Analyse dieses CSV zu verwenden, können Sie dem folgenden Codebeispiel folgen:
<code>"2,1016,7/31/2008 14:22,Geoff Dalgas,6/5/2011 22:21,http://stackoverflow.com,\"Corvallis, OR\",7679,351,81,b437f461b3fd27387c5d8ab47a293d35,34"</code>
TextFieldParser
Durch Einstellen von auf
<code class="language-csharp">using Microsoft.VisualBasic.FileIO; TextFieldParser parser = new TextFieldParser(new StringReader(csv)); parser.HasFieldsEnclosedInQuotes = true; parser.SetDelimiters(","); string[] fields; while (!parser.EndOfData) { fields = parser.ReadFields(); foreach (string field in fields) { Console.WriteLine(field); } } parser.Close();</code>Felder mit Anführungszeichen auf unterschiedliche Weise, um zu verhindern, dass das Komma als feste Grenze angesehen wird.
HasFieldsEnclosedInQuotes
Die endgültige Ausgabe unterteilt den CSV korrekt in jedes Feld, behält das eingebettete Komma in "corvallis oder" Adresse: true
bei
TextFieldParser
Das obige ist der detaillierte Inhalt vonWie gehe ich mit CSV-Spalten um, die eingebettete Kommas in C# enthalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!