在 C# CSV 解析中高效率處理逗號
處理逗號分隔列時,解析 CSV 檔案會變得複雜。 本文示範了使用 C# 中的 Microsoft.VisualBasic.FileIO.TextFieldParser
類別的強大解決方案。
TextFieldParser
類別透過智慧處理帶引號和不帶引號的欄位提供了顯著的優勢。即使列值中出現逗號,這也可確保準確的資料擷取。
讓我們用一個實際的例子來說明這一點:
<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>
程式碼使用 CSV 資料初始化 TextFieldParser
。 至關重要的是,HasFieldsEnclosedInQuotes
設定為 true
以使解析器能夠正確解釋引用的欄位。 分隔符號設定為逗號。
while
循環迭代每一行,ReadFields()
將行拆分為字段數組。 然後代碼將每個字段列印到控制台。 using
語句確保正確的資源清理。
此方法提供了一種可靠的方法來解析 CSV 數據,準確保留引號內包含嵌入逗號的列值。
以上是如何用C#中的逗號限制列解析CSV文件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!