鉴于以下代码:
var query = from line in ClientCount()
let aLine = line.Split(",")
where aLine.GetValue(1) != 0
select aLine;
要查询csv文件,aLine.GetValue(1)将获取.csv文件中的第1行(0之后)或第1个字符串,例如:
abc,def
因此得到def?我想得到def,但是我还想在这样的文件中选择title2:
title,title2
abc,def
我该怎么做?
BTW我知道这有LINQ To CSV,但我自己也是这样做的。
由于
答案 0 :(得分:3)
所以,如果我正确地读到这个,你想得到一对“title2”,“def”;或者以其他方式放置,你想得到column1的值。您对LINQ所需的唯一更改如下:
var query = from line in ClientCount()
let aLine = line.Split(new[] { ',' })
where aLine.GetValue(1) != "0"
select aLine.GetValue(1);
这将排除第二列的值为“0”的行,这是我假设您尝试执行的操作。此代码编译并运行并为您指定的集合提供值为“def”和“title2”的IEnumerable。
答案 1 :(得分:1)
虽然练习一切都很好,但CSV实际上比名称更复杂 - 你引用/不引用,多线,以及在某些地区“c”成为一个时期的可怕问题(“ “)。
我强烈建议您使用预先滚动的内容,例如CsvReader。
(幸运的是TSV通常不那么讨厌)