Как проверить CSV в C#?

есть ли встроенный метод в .NET, который проверяет csv-файлы / строки?

Я бы предпочел что-то вроде это онлайн csv валидатор но в C#. Я провел некоторые исследования, но все, что я нашел, - это примеры людей, пишущих сам код (все примеры были написаны несколько лет назад и могут быть устаревшими).

POC:

bool validCSV = CoolCSV_ValidatorFunction(string csv/filePath);

3 ответов


там! По какой-то причине он похоронен в пространстве имен VB, но это часть .NET Framework, вам просто нужно добавить ссылку на Microsoft.VisualBasic assembly. Типа ты ищешь 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
        }
    }
}

Лучший читатель CSV, который я нашел, это один из Lumenworks:

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

очень быстрый, очень полнофункциональный. Рекомендуемый.


этот парсер CSV также кажется многообещающим (не встроенным, хотя): http://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader

соответствующей теме: CSV для анализа варианты .Чистая