首页 >后端开发 >C++ >如何使用C#在字段内使用逗号来解析CSV数据?

如何使用C#在字段内使用逗号来解析CSV数据?

Patricia Arquette
Patricia Arquette原创
2025-01-26 16:51:10721浏览

How to Parse CSV Data with Commas Inside Fields Using C#?

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn