Powershell - Wert aus einer Spalte auf andere Spalten aufteilen
Hallo Zusammen,
ich habe mehrere CSV Dateien (6 Spalten), die wie folgt aufgebaut sind:
es kann, wie oben vorkommen, dass in Spalte 3 der Wert "Rabatt123" vorkommt, dann würde ich gerne, dass der Wert aus der 6. Spalte gleichmäßig auf alle Werte aufgeteilt / abgezogen werden, außer bei einer Zeile, wo in der Spalte 3 Versand-123 vorkommt:
Wäre das mit Powershell möglich?
Beste Grüße,
freschman2017
ich habe mehrere CSV Dateien (6 Spalten), die wie folgt aufgebaut sind:
1002XXXX;11XXX-XXXXXXXXXX;Artikelnummer;19.07.2024;1;30,35;
1002XXXX;11XXX-XXXXXXXXXX;Artikelnummer;19.07.2024;1;30,35;
1002XXXX;11XXX-XXXXXXXXXX;Artikelnummer;19.07.2024;1;3,35;
1002XXXX;11XXX-XXXXXXXXXX;Rabatt123;19.07.2024;1;15,00;
1002XXXX;11XXX-XXXXXXXXXX;Versand-123;19.07.2024;1;3,28;
es kann, wie oben vorkommen, dass in Spalte 3 der Wert "Rabatt123" vorkommt, dann würde ich gerne, dass der Wert aus der 6. Spalte gleichmäßig auf alle Werte aufgeteilt / abgezogen werden, außer bei einer Zeile, wo in der Spalte 3 Versand-123 vorkommt:
1002XXXX;11XXX-XXXXXXXXXX;Artikelnummer;19.07.2024;1;25,35;
1002XXXX;11XXX-XXXXXXXXXX;Artikelnummer;19.07.2024;1;25,35;
1002XXXX;11XXX-XXXXXXXXXX;Artikelnummer;19.07.2024;1;-2,35;
1002XXXX;11XXX-XXXXXXXXXX;Versand-123;19.07.2024;1;3,28;
Wäre das mit Powershell möglich?
Beste Grüße,
freschman2017
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 668044
Url: https://administrator.de/contentid/668044
Ausgedruckt am: 23.11.2024 um 09:11 Uhr
1 Kommentar
-2,35
Knapp daneben ist auch vorbei 😛foreach($file in Get-ChildItem "D:\Ordner" -File -Filter *.csv){
$csv = Import-CSV -Path $file.FullName -Delimiter ";" -Header (1..7)
$rabatt = $csv | ?{$_.3 -eq 'Rabatt123'} | %{[decimal]::Parse($_.6,[cultureinfo]'de')}
if ($rabatt){
$articles = $csv | ?{$_.3 -notin 'Versand-123','Rabatt123'}
$peritem = $rabatt / $articles.count
$articles | %{$_.6 = [decimal]::Parse($_.6,[cultureinfo]'de') - $peritem}
($csv | ?{$_.3 -ne 'Rabatt123'} | Convertto-CSV -Delimiter ";" -NoTypeInformation | select -Skip 1) -replace '"' | Set-Content -Path $file.Fullname
}
}
Da bastelt wieder jemand an der "Next Generation Bestellverwaltung" 😂
Gruß