.NET中是否有内置方法验证csv文件/字符串?
我更喜欢像this online csv validator这样的东西但是在C#中。我做了一些研究,但我发现的只是人们自己编写代码的例子(例子都是几年前编写的,可能已经过时了。)
POC:
bool validCSV = CoolCSV_ValidatorFunction(string csv/filePath);
答案 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