Zeilen einer CSV zusammenfassen und zusammengefasst speichern
29674/15;VI;NSDo;Mib1 ;06.07.2015 10:24;Autostainer 2;;;Fertig
29674/15;VII;NSDo;Mib1 ;06.07.2015 10:24;Autostainer 2;;;Fertig
29674/15;IX;NSDo;Mib1 ;06.07.2015 10:24;Autostainer 2;;;Fertig
29674/15;IX;NSDo;CK7 ;06.07.2015 10:24;Autostainer 2;;;Fertig
24543/15;I;NSS;ZK ;08.07.2015 15:03;Autostainer 1;;;Fertig
24543/15;I;NSS;CK7 ;08.07.2015 15:03;Autostainer 1;;;Fertig
24543/15;I;NSS;Gata3 ;08.07.2015 15:04;Autostainer 1;;;Fertig
24543/15;I;NSS;CK5 ;08.07.2015 15:03;Autostainer 1;;;Fertig
24543/15;I;NSS;p63 ;08.07.2015 15:03;Autostainer 1;;;Fertig
24543/15;I;NSS;ER ;08.07.2015 15:03;Autostainer 1;;;Fertig
24543/15;I;NSS;PR ;08.07.2015 15:03;Autostainer 1;;;Fertig
24543/15;I;NSS;Mib1 ;08.07.2015 15:04;Autostainer 1;;;Fertig
24543/15;II;NSS;ZK ;08.07.2015 15:04;Autostainer 1;;;Fertig
24543/15;II;NSS;CK7 ;08.07.2015 15:04;Autostainer 1;;;Fertig
24543/15;II;NSS;Gata3 ;08.07.2015 15:04;Autostainer 1;;;Fertig
24543/15;II;NSS;CK5 ;08.07.2015 15:04;Autostainer 1;;;Fertig
24543/15;II;NSS;p54 ;08.07.2015 15:04;Autostainer 1;;;Fertig
So würde die CSV aussehen.
Ich würde gerne zusammenfassen lassen, wobei die ersten drei Token zusammengehören,
das vierte Token ist der eigentliche Unterschied, der zusammengefasst werden soll. Alles soll entsprechend
der Nummer (1. Token) als Datei gespeichert werden. Das Datum wird gebraucht, Uhrzeit und Rest nicht.
So sollte der Inhalt aussehnen (generierter Dateiname 15-29674):
06.07.2015 NSDO VI - Mib1
06.07.2015 NSDO VII - Mib1
06.07.2015 NSDO IX - Mib1, CK7
08.07.2015 NSS I ZK, CK7, Gata3, CK5, p63, ER, PR, Mib1
08.07.2015 NSS II ZK, CK7, Gata3, CK5, p54
viel zu kompliziert; es gibt eben welche, die sich besser damit auskennen und mit ganz anderer Idee herangehen.
Wäre nett, wenn ihr mir helfen könntet.
Gruß
Stitch
Please also mark the comments that contributed to the solution of the article
Content-Key: 289215
Url: https://administrator.de/contentid/289215
Printed on: April 25, 2024 at 16:04 o'clock
4 Comments
Latest comment
Moin,
mit Powershell schnell gemacht ... (mit deinen geposteten Daten erfolgreich getestet, "geht nicht" gibts also nicht )
Eingabedatei und Ausgabeordner (Zeile 1 und 8) natürlich an deine Umgebung anpassen ...
Gruß grexit
mit Powershell schnell gemacht ... (mit deinen geposteten Daten erfolgreich getestet, "geht nicht" gibts also nicht )
Eingabedatei und Ausgabeordner (Zeile 1 und 8) natürlich an deine Umgebung anpassen ...
$csv = Import-CSV 'C:\ordner\demo.csv' -Delimiter ";" -Header (1..9)
$csv | group '1' | %{
$fname = $_.Name -replace '(.*)/(.*)','$2-$1'
$_.Group | group '2','3' | %{
$g = "$($_.Group.'5'.split(' ')) $($_.Group.'3') $($_.Group.'2')"
$tokens = ($_.group | select -Expand '4') -join ','
"$g $tokens"
} | out-file "C:\ordner\$fname.txt"
}
powershell -Executionpolicy ByPass -File "C:\Ordner\script.ps1"
da dort bis jetzt alles möglich war.
in Powershell noch wesentlich mehr vor allem ist dort alles ohne weitere Zusatztools möglich.In Batch machst du doch 100 Verrenkungen um so simple Dinge zu realisieren. Ist einfach nicht mehr zeitgemäß.
Wird langsam höchste Eisenbahn umzuschwenken ...