在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