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