首页 > 后端开发 > C++ > 如何使用 C# 解析包含在引号中的逗号分隔字段的 CSV 文件?

如何使用 C# 解析包含在引号中的逗号分隔字段的 CSV 文件?

DDD
发布: 2025-01-26 17:06:10
原创
1027 人浏览过

How to Parse CSV Files with Comma-Delimited Fields Enclosed in Quotes Using C#?

使用 C# 处理 CSV 解析中的引号

当字段本身包含逗号时,正确解析 CSV 文件会变得复杂。本文演示了一个强大的 C# 解决方案,用于从此类 CSV 文件中提取数据,重点关注逗号分隔字段用双引号引起来的场景。

当字段(例如“Corvallis, OR”)在其引用的内容中包含逗号时,就会出现挑战。 在这种情况下,基于逗号的标准字符串分割将会失败。 解决方案在于使用 Microsoft.VisualBasic.FileIO.TextFieldParser 类。

此类专门设计用于处理带有引号字段的分隔文件。 这是一个 C# 代码示例:

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);
        }
    }
}
登录后复制

此代码片段有效地解析 CSV 数据,正确处理引号内的字段,确保这些引号内的逗号被视为字段的一部分,而不是分隔符。 using 语句通过自动关闭 TextFieldParser 来确保正确的资源管理。 即使字段结构复杂,这种方法也能保证从 CSV 文件中准确提取数据。

以上是如何使用 C# 解析包含在引号中的逗号分隔字段的 CSV 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板