Kim
Juniormester
19. august 2022 - 12:33
Der er
5 kommentarer og 1 løsning
Erstatte negative værdier med i PowerShell
Hej Eksperter Jeg har noget data: "Number";"Name";"Manufacturer";"Brand ID";"EAN";"Price";"Currency Code";"StockLevel" "88212115";"Starter";"PowerMax";"4543";"5713852365634";"79,81";"EUR";"181" "88212119";"Starter";"PowerMax";"4543";"5713852365672";"209,07";"EUR";"1" "88212120";"Starter";"PowerMax";"4543";"5713852365689";"91,56";"EUR";"30" "88212121";"Starter";"PowerMax";"4543";"5713852365696";"79,81";"EUR";"-6" "88212125";"Starter";"PowerMax";"4543";"5713852365733";"84,51";"EUR";"39" "88212128";"Starter";"PowerMax";"4543";"5713852365764";"108,59";"EUR";"23" "88212130";"Starter";"PowerMax";"4543";"5713852365788";"133,86";"EUR";"1" "88212135";"Starter";"PowerMax";"4543";"5713852365832";"58,66";"EUR";"-11" "88212136";"Starter";"PowerMax";"4543";"5713852365849";"115,95";"EUR";"-23" "88212138";"Starter";"PowerMax";"4543";"5713852365863";"99,49";"EUR";"8" "88212140";"Starter";"PowerMax";"4543";"5713852365887";"66,59";"EUR";"6" Jeg har brug for at erstatte alle negative tal i kolonnen Price (kolonne 8) med 0 På forhånd tak for hjælpen Kim
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Kim
Juniormester
19. august 2022 - 12:35
#1
Lige en rettelse: det er ikke kolonnen Price men Stocklevel der skal rettes. StockLevel er kolonne 8 Beklager Kim
19. august 2022 - 14:00
#2
Prøv med følgende: $CsvFile = "<sti til din CSV fil>" $Dataset = Get-Content -Path $CsvFile $Data = ConvertFrom-Csv $Dataset -Delimiter ';' foreach ($Item in $Data) { if ([int]$Item.StockLevel -lt 0) { $Item.StockLevel = 0 } } $Data | ConvertTo-Csv -Delimiter ";" -NoTypeInformation | Out-File $CsvFile -Force
Synes godt om
1 synes godt om dette
Kim
Juniormester
19. august 2022 - 14:29
#3
Jeg prøvede med følgende: $CsvFile = "O:\Lagertal_til_kunder\Autodoc\myTempFile.csv" $Dataset = Get-Content -Path $CsvFile $Data = ConvertFrom-Csv $Dataset -Delimiter ';' foreach ($Item in $Data) { if ([int]$Item.StockLevel -lt 0) { $Item.StockLevel = 0 } } $Data | ConvertTo-Csv -Delimiter ";" -NoTypeInformation | O:\Lagertal_til_kunder\Autodoc\out.csv $CsvFile -Force men BAT filen stopper når den kommer til kode og lukker ned. Der kommer intet output.
Kim
Juniormester
19. august 2022 - 14:33
#4
Rettede koden: $CsvFile = "O:\Lagertal_til_kunder\Autodoc\myTempFile.csv" $Dataset = Get-Content -Path $CsvFile $Data = ConvertFrom-Csv $Dataset -Delimiter ';' foreach ($Item in $Data) { if ([int]$Item.StockLevel -lt 0) { $Item.StockLevel = 0 } } $Data | ConvertTo-Csv -Delimiter ";" -NoTypeInformation | Out_File $CsvFile -Force med samme resultat som før.
Kim
Juniormester
19. august 2022 - 14:34
#5
det går squ godt :-) selvfølgelig Out-File og ikke Out_File
Kim
Juniormester
19. august 2022 - 14:54
#6
Nu virker det. Jeg havde lavet nogle typo fejl. Tak for hjælpen Spotgun.
Kurser inden for grundlæggende programmering