Um mein Ziel zu verfolgen, mehrere Zeilen in CSV-Datei zu löschen. Meine Idee ist, die Daten zwischen zwei Daten zu erhalten, die nicht zum Löschen gehören. Aber wie kann ich Tage zwischen zwei Daten wiederholen und bekomme Werte zu string und verwendet zu meinem Code für die Bewertung der CSV-Datei, die dieses Feld enthält.Mehrere löschen in CSV-Zeilen nach Daten
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);
}
}
INPUT:
"EmployeeCode", "Datum", "Zeit", "Typ"
"3434", "2013.01.22", "7.54", "0 "
" 3023 "," 23.01.2014 "," 07:54 "," 0 "
" 2897 "," 01/24/2015 "," 07:54 "," 0 "
" 3734 "," 25.01.2015 "," 07:54 "," 0 "
" 3168 "," 26.01.2015 "," 07:54 "," 0 "
" 4863 "," 26.01.2015 "," 07:55 "," 0 "
"2513", "2015.01.27", "7.55", "0"
"2582", "2015.01.27", "7.55", "0"
OUTPUT:
"EmployeeCode", "Datum", "Zeit", "Typ"
"3734", "2015.01.25", "7.54", "0"
"3168", "26.01.2015", "07:54", "0"
"4863", "26.01.2015", "07:55", "0"
"2513", "01/27/2015 "," 07:55 "," 0 "
" 2582 "," 27.01.2015 "," 07:55 "," 0 "
Anregungen, Kommentare, Austausch von Codes und Ideen werden sehr geschätzt.
Es wäre hilfreich, wenn Sie eine Beispiel-Eingabedatei und eine Beispiel-Ausgabedatei (wobei die Beispiel-Ausgabedatei die Ausgabedatei ist, die Sie ** sehen möchten ** am Ende geschrieben) sehen. – mjwills
Gibt es einen Grund, dass Sie 'newLines' ** nach dem Schreiben der Datei einen Wert zuweisen? – mjwills
Ja, das ist der Grund, warum wir diese Zeilen mit leeren Zeilen überschreiben können, die Daten enthalten, die den Datumsbereich nicht enthalten. Ich bearbeite meinen Beitrag, um Ein- und Ausgabe zu sehen. – LovExpert