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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 289215
Url: https://administrator.de/forum/zeilen-einer-csv-zusammenfassen-und-zusammengefasst-speichern-289215.html
Ausgedruckt am: 15.04.2025 um 16:04 Uhr
4 Kommentare
Neuester Kommentar

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 In Batch machst du doch 100 Verrenkungen um so simple Dinge zu realisieren. Ist einfach nicht mehr zeitgemäß.
Wird langsam höchste Eisenbahn umzuschwenken ...