C#高效率解析包含逗號的CSV資料
CSV檔案解析過程中,常常會遇到欄位內部包含逗號的情況,這會導致解析錯誤。為了有效率地處理這種情況,可以使用Microsoft.VisualBasic.FileIO.TextFieldParser類別。
以下程式碼片段示範如何使用TextFieldParser類別解析CSV字串,即使欄位內包含逗號,只要用雙引號括起來,也能正確解析。程式碼讀取數據,將其分割成各個字段,並列印到控制台。
<code class="language-csharp">using Microsoft.VisualBasic.FileIO; string csv = "2,1016,7/31/2008 14:22,Geoff Dalgas,6/5/2011 22:21,http://stackoverflow.com,\"Corvallis, OR\",7679,351,81,b437f461b3fd27387c5d8ab47a293d35,34"; 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>
解析結果如下:
<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類,您可以有效地解析CSV數據,正確處理欄位中的逗號,確保資料處理和分析的準確性。
以上是如何使用C#在字段內使用逗號來解析CSV數據?的詳細內容。更多資訊請關注PHP中文網其他相關文章!