我是c#中的新成員,也使用csv文件。我需要使用一系列日期來過濾csv文件。在csv文件中包含csv文件中的一個範圍之間的日期的過濾器行#
csv文件的內容與下面的數據類似。
「EmployeeCode」, 「日期」, 「時間」, 「類型」
「3434」, 「2013年1月22日」, 「07:54」, 「0」
「3023」,「01/23/2014「,」07:54「,」0「
」2897「,」01/24/2015「,」07:54「,」0「
」3734「,」01/25/2015 「07:54」,「0」
「3168」,「01/26/2015」,「07:54」,「0」
「4863」,「01/26/2015」,「07 :55「,」0「
」2513「,」01/27/2015「,」07:55「,」0「
」2582「,」01/27/2015「,」07:55「, 「0」
這應該是輸出:
「EmployeeCode」, 「日期」, 「時間」, 「類型」
「3734」, 「2015年1月25日」, 「07:54」, 「0」
「3168」,「01/26/2015」,「07:54」,「0」
「4863」,「01/26/2015」,「07:55」,「0」
「2513 」, 「2015年1月27日」, 「7點55分」, 「0」
「2582」, 「2015年1月27日」, 「7點55分」, 「0」
殼牌可以做這,它的不公平,C#不能。因爲在向網絡搜索這類問題之後,找不到解決方案。
試一試這段代碼。
DateTime dFm = new DateTime(2015, 01, 25);
DateTime dTo = new DateTime(2015, 01, 27);
var lines = System.IO.File.ReadAllLines(txtFileName.Text);
var data = lines
.Skip(1)
.Select(x => new
{
EmpCode = Int32.Parse(x.Split(new string[] { @""",""", @""""
}, StringSplitOptions.RemoveEmptyEntries)[0]),
Date = DateTime.ParseExact(
string.Concat(x.Split(new string[] { @""",""", @"""" },
StringSplitOptions.RemoveEmptyEntries)[1], " ",
x.Split(new string[] { @""",""", @"""" },
StringSplitOptions.RemoveEmptyEntries)[2]),
"MM/dd/yyyy HH:mm",
System.Globalization.CultureInfo.InvariantCulture),
Type = x.Split(new string[] { @""",""", @"""" },
StringSplitOptions.RemoveEmptyEntries)[3]
})
.Where(x => x.Date >= dFm && x.Date <= dTo)
.ToList();
}
你是怎麼認爲C#不能的?你試着寫什麼代碼? –
C#可以,你不能:) –
嘿嘿,是像我這樣的初學者。 – LovExpert