C# 读取.csv文件并计算日期范围C之间的行数#

C# 读取.csv文件并计算日期范围C之间的行数#,c#,csv,readfile,C#,Csv,Readfile,当使用CSVhelper读取CSV文件时,我有数千行数据,每行的第5列将包含日期/时间。我想计算两个给定日期之间的行数。如果我们查看以下输入: 代码需要计算2014-10-24和2014-10-29之间的行数,并将此计数保存为变量,在这种情况下,预期输出为(9)。请注意,这是一个示例输入,日期范围之间的实际行数将相当可观 当前,正在通过csvreader读入.csv文件并存储在: IEnumerable dataRecord=reader.GetRecords().ToList() 我不知道该

当使用CSVhelper读取CSV文件时,我有数千行数据,每行的第5列将包含日期/时间。我想计算两个给定日期之间的行数。如果我们查看以下输入:

代码需要计算2014-10-24和2014-10-29之间的行数,并将此计数保存为变量,在这种情况下,预期输出为(9)。请注意,这是一个示例输入,日期范围之间的实际行数将相当可观

当前,正在通过csvreader读入.csv文件并存储在:
IEnumerable dataRecord=reader.GetRecords().ToList()


我不知道该怎么做,任何帮助都将不胜感激。

试试这样的方法:

var count = dataRecord
    .SkipWhile(record => DateTime.Parse(record.Date).Date != new DateTime(2014, 10, 24))
    .TakeWhile(record => DateTime.Parse(record.Date).Date != new DateTime(2014, 10, 29))
    .Count();

dataRecord类是日期字符串还是日期时间?我认为下一步是将每一行反序列化为自定义类型,然后使用linq查询结果集,或者获取日期列,并在
foreach
loopDateTime startDate=DateTime.Parse(“2014-10-24”)中使用增量;DateTime endDate=DateTime.Parse(“2014-10-29”);int count=dataRecord.Where(x=>(DateTime.Parse(x.date)>=startDate)和&(DateTime.Parse(x.date)您的代码有一个错误:IEnumerable dataRecord=reader.GetRecords().ToList();@johnfish92-使用
var
而不是
IEnumerable