在 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中文网其他相关文章!