如何在C#中验证CSV?

时间:2014-07-15 18:25:14

标签: c# csv

.NET中是否有内置方法验证csv文件/字符串?

我更喜欢像this online csv validator这样的东西但是在C#中。我做了一些研究,但我发现的只是人们自己编写代码的例子(例子都是几年前编写的,可能已经过时了。)

POC:

bool validCSV = CoolCSV_ValidatorFunction(string csv/filePath);

3 个答案:

答案 0 :(得分:13)

有!由于某种原因,它隐藏在VB命名空间中,但它是.NET Framework的一部分,您只需要添加对Microsoft.VisualBasic程序集的引用。您正在寻找的类型是TextFieldParser

以下是验证文件的示例:

using Microsoft.VisualBasic.FileIO;
...
var path = @"C:\YourFile.csv";
using (var parser = new TextFieldParser(path))
{
    parser.TextFieldType = FieldType.Delimited;
    parser.SetDelimiters(",");

    string[] line;
    while (!parser.EndOfData)
    {
        try
        {
            line = parser.ReadFields();
        }
        catch (MalformedLineException ex)
        {
            // log ex.Message
        }
    }
}

答案 1 :(得分:2)

我发现的最好的CSV阅读器来自Lumenworks:

http://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader

非常快,非常全功能。推荐使用。

答案 2 :(得分:1)

CSV Parser似乎也很有前景(不是内置的): http://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader

相关主题: CSV Parsing Options with .NET