Как проверить 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 для анализа варианты .Чистая