如果我有以下(样本)文本文件;
year,2008,2009,2010
income,1000,1500,2000
dividends,100,200,300
net profit,1100,1700,2300
expenses,500,600,500
profit,600,1100,1800
Linq有没有办法只选择2010年的费用?
到目前为止,我有以下内容可以获取所有数据;
var data = File.ReadAllLines(fileName)
.Select(
l => {
var split = l.CsvSplit();
return split;
}
);
foreach (var item in data)
Console.WriteLine("{0}: ${1}", item[0], item[1]);
答案 0 :(得分:1)
如果您知道它始终是第3个值列,那么
// the expenses row
var query = data.Single(d => d[0] == "expenses");
// the third column
return query[3];
如果你不这样做,那么
var columnNumber = Array.IndexOf(data.First(), "2010");
return query[columnNumber];
答案 1 :(得分:1)
请参阅LINQtoCSV,它是一个为您完成所有这些工作的库。我已经习惯了它,它就像一个魅力。