使用 C# 處理 CSV 解析中的引號
當字段本身包含逗號時,正確解析 CSV 文件會變得複雜。本文演示了一個強大的 C# 解決方案,用於從此類 CSV 文件中提取數據,重點關注逗號分隔字段用雙引號引起來的場景。
當字段(例如“Corvallis, OR”)在其引用的內容中包含逗號時,就會出現挑戰。 在這種情況下,基於逗號的標準字符串分割將會失敗。 解決方案在於使用 Microsoft.VisualBasic.FileIO.TextFieldParser
類。
此類專門設計用於處理帶有引號字段的分隔文件。 這是一個 C# 代碼示例:
<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 數據,正確處理引號內的字段,確保這些引號內的逗號被視為字段的一部分,而不是分隔符。 using
語句通過自動關閉 TextFieldParser
來確保正確的資源管理。 即使字段結構複雜,這種方法也能保證從 CSV 文件中準確提取數據。
以上是如何使用C#用引號中包含逗號的字段來解析CSV文件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!