Hallo,
ich möchte eine csv Datei "on-the-fly" nach Datum sortieren.
Das Datum ist in einem Text Format.
Wenn ich die csv Datei als Text lese, klappt es bereits.
Naja, fast, die Titelzeile schmeißt einen Fehler, aber das Ergebnis stimmt.
Alle Versuche das Gleiche mit import-csv und sort-object hinzubekommen sind bisher an type casting gescheitert.
Vielleicht hat jemand eine Idee für mich?
Hier erstmal was bisher funktioniert.
Eine Beispiel csv Datei die sortiert werden soll:
_time,_column1,_column2,_column3 Fri Jan 1 07:54:01 2016,07,Item 8,XX4481 Wed Jan 13 11:14:00 2016,10,Item 8,AZ83 Fri Jan 8 10:39:14 2016,46,Item 0,XX4377 Mon Jan 4 03:29:54 2016,62,Item 7,AZ6415 Mon Jan 11 23:59:59 2016,99,Item 1,XX8882 Sat Jan 2 13:06:35 2016,54,Item 9,IT9013 Wed Jan 13 00:07:12 2016,54,Item 0,IT3704 Sat Jan 9 05:25:50 2016,85,Item 7,AZ7450 Sun Jan 10 23:34:34 2016,19,Item 5,IT5338 Sun Jan 10 23:56:50 2016,01,Item 2,IT2262 Thu Jan 7 01:20:24 2016,30,Item 0,AZ9959 Tue Jan 12 23:45:18 2016,27,Item 9,AZ159 Wed Jan 6 23:33:01 2016,66,Item 6,IT7269
Hier der fast funktionierende Code:
$inDir="c:\workdir\PS" $outDir=$inDir $inCSVfile="test-results.csv" $outCSVfile="test-results-sorted.csv" $formats= [string[]]("ddd MMM d HH:mm:ss yyyy","ddd MMM d HH:mm:ss yyyy") #$format="ddd MMM d HH:mm:ss yyyy" [System.Globalization.CultureInfo]$provider = [System.Globalization.CultureInfo]::InvariantCulture $content=Get-Content (join-path $inDir $inCSVfile) $content | sort-object {[datetime]::ParseExact($_.split(",")[0].Trim([char]34),` $formats,` $provider,` [System.Globalization.DateTimeStyles]::None)}` | Out-File (join-path $outDir $outCSVfile) -Encoding ascii
Hier das Ergebnis:
_time,_column1,_column2,_column3 Fri Jan 1 07:54:01 2016,07,Item 8,XX4481 Sat Jan 2 13:06:35 2016,54,Item 9,IT9013 Mon Jan 4 03:29:54 2016,62,Item 7,AZ6415 Wed Jan 6 23:33:01 2016,66,Item 6,IT7269 Thu Jan 7 01:20:24 2016,30,Item 0,AZ9959 Fri Jan 8 10:39:14 2016,46,Item 0,XX4377 Sat Jan 9 05:25:50 2016,85,Item 7,AZ7450 Sun Jan 10 23:34:34 2016,19,Item 5,IT5338 Sun Jan 10 23:56:50 2016,01,Item 2,IT2262 Mon Jan 11 23:59:59 2016,99,Item 1,XX8882 Tue Jan 12 23:45:18 2016,27,Item 9,AZ159 Wed Jan 13 00:07:12 2016,54,Item 0,IT3704 Wed Jan 13 11:14:00 2016,10,Item 8,AZ83