Как удалить несколько строк в csv-файле по датам
private void button2_Click(object sender, EventArgs e) { DateTime start = new DateTime(01 / 25 / 2015); DateTime end = new DateTime(01 / 27 / 2015); var dates = new List<datetime>(); for (var dt = start; dt <= end; dt = dt.AddDays(1)) { dates.Add(dt); var oldLines = System.IO.File.ReadAllLines(txtFileName.Text); var newLines = oldLines.Where(line => line.Contains(dates.ToString())); System.IO.File.WriteAllLines(txtFileName.Text, newLines); newLines = oldLines.Select(line => new { Line = line, Words = line.Split(' ') }) .Where(lineInfo => lineInfo.Words.Contains(dates.ToString())) .Select(lineInfo => lineInfo.Line); } }
После просмотра файла из каталога.
ПРИМЕР ВВОДА:
"EmployeeCode","Date","Time","Type" "3434","01/22/2013","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","Date","Time","Type" "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"
Предложения, комментарии, обмен кодами и идеями высоко ценятся.
Что я уже пробовал:
Чтобы преследовать свою цель удаления нескольких строк в csv-файле. Моя идея состоит в том, чтобы получить даты между двумя датами, которые не включены для удаления. Но как я могу перебирать дни между двумя датами и получать там значения в строку и использовать их в своем коде для оценки csv-файла, содержащего это поле?
Maciej Los
Что такое точный ввод? Кажется, вы хотите разделить данные на [" "] (пробел), но пример данных, которые вы опубликовали, разделен запятой [","].
Member 13264296
Все в порядке, никаких проблем с этим вопросом нет, он просто будет перезаписан пустой строкой. Моя проблема заключается в том,как я могу перебирать дни между двумя датами, включая месяцы, дни и год, а затем значения будут вставляться в этот код .Содержит ("значения дат здесь").
Maciej Los
Проверьте мое решение.