如果它等于特定字符串,则使用 File.ReadAllLines 跳过行
Skip line using File.ReadAllLines if it equals a particular string
是否可以做到string[] CSV_file = File.ReadAllLines(@..\..\..\Data.csv").Skip()
而不是将一行硬编码为例如Skip(1) 它跳过等于字符串的一行。
假设 csv 文件是:
你好,山姆
你好,乔
没有
你好,本
没有
你想跳过每一行说 'no' 所以你只剩下三个你好
是否可以像下面的代码或其他方式那样做。
string[] CSV_file = File.ReadAllLines(@..\..\..\Data.csv").Skip(alllines).Equals("No");
提前致谢
改用Where
扩展方法,使用此方法您可以按某些条件过滤行。在您的情况下,条件将是 不等于 "No".
var lines = File.ReadAllLines("file")
.Where(line => line.Equals("No") == false)
.ToArray();
要仅检查第一列,请更改条件以检查该行是否以 "no,"
开头
var lines = File.ReadAllLines("file")
.Where(line => line.StartsWith("no,") == false)
.ToArray();
上面的代码稍作修改
string[] CSV_file = File.ReadAllLines("file").Where(l => !l.StartsWith("No")).ToArray();
是否可以做到string[] CSV_file = File.ReadAllLines(@..\..\..\Data.csv").Skip()
而不是将一行硬编码为例如Skip(1) 它跳过等于字符串的一行。
假设 csv 文件是:
你好,山姆
你好,乔
没有
你好,本
没有
你想跳过每一行说 'no' 所以你只剩下三个你好 是否可以像下面的代码或其他方式那样做。
string[] CSV_file = File.ReadAllLines(@..\..\..\Data.csv").Skip(alllines).Equals("No");
提前致谢
改用Where
扩展方法,使用此方法您可以按某些条件过滤行。在您的情况下,条件将是 不等于 "No".
var lines = File.ReadAllLines("file")
.Where(line => line.Equals("No") == false)
.ToArray();
要仅检查第一列,请更改条件以检查该行是否以 "no,"
开头var lines = File.ReadAllLines("file")
.Where(line => line.StartsWith("no,") == false)
.ToArray();
上面的代码稍作修改
string[] CSV_file = File.ReadAllLines("file").Where(l => !l.StartsWith("No")).ToArray();