在Codeplex的CommonLibrary.NET项目中也有专门的CSV解析支持。您可以使用此库找到一个CSV解析示例here。
UPDATE
下面是一些代码,可用于解析类似于你有上面的一个文本,并使用CommonLibrary.NET。请注意,原始文本被首先降低在表头(origText.Substring(origText.IndexOf("PartStatus"))
)开始,和正则表达式匹配是用来与单个逗号(Regex.Replace(sometext, "[ ]+", ",")
)取代一个或多个连续的空格字符:
var origText =
"Type Dummy\n" +
"Status Ready\n" +
"# Comment line\n" +
"# Another comment line\n" +
"PartStatus Result Measurement1 Measurement2\n" +
"900 OK 0 20\n" +
"600 Passed 30 400\n";
var trimmedText =
Regex.Replace(origText.Substring(origText.IndexOf("PartStatus")),
"[ ]+", ",");
var csvDoc = Csv.LoadText(trimmedText, true, false, ",");
Console.WriteLine(csvDoc.Get<int>(1, "Measurement2"));
Console.WriteLine(csvDoc.Get<string>(0, "Result"));
将产生输出:
400
OK
CommonLibrary.NET的CSV解析组件还提供了一种简单的方式来将CSV数据变换成一个ADO.NETDataTable
:
var table = csvDoc.ToDataTable();
你能给我们一个CSV的样本吗? – 2012-08-07 07:42:33
有一个示例文件可以让你更容易回答。你能分享一个吗? – danish 2012-08-07 07:47:59
什么是上传文件的最佳方式? – NimraF 2012-08-07 08:02:54