CSV-файл, измените значение ячейки - PullRequest
0 голосов
/ 21 марта 2019

https://i.stack.imgur.com/IjGvZ.png

productNumber                 productName       active description
-------------                 -----------       ------ -----------
productNumber                 productName       active description
1A100110001                   product1          TRUE   laptop
1A100110002                   product2          TRUE   laptop
1A100110003                   product3          TRUE   laptop
1A100110004                   product4          TRUE   laptop
1A100110005                   product5          TRUE   laptop
1A100110006                   product6          TRUE   laptop
1A100110007                   product7          TRUE   laptop
1A100110008                   product8          TRUE   laptop
1A100110009,product9,FALSE,PC

Я хотел бы изменить значение productName (product2) на (product fortnox 2)

Я попробовал следующий код, но это не такработа:

$products_fortnox = import-csv -Path .\products_Fortnox_output.csv 
$products_fortnox | % {

if ($_.productNumber -eq "1A100110002") {

$_.productName = 'product fortnox 2'
} 
}

$products_fortnox | export-csv .\products_Fortnox_output.csv -NoTypeInformation

1 Ответ

0 голосов
/ 21 марта 2019

Попробуйте это:

$source  = '.\products_Fortnox_output.csv '
$dest   = '.\products_Fortnox_output_new.csv '

[IO.File]::ReadAllText($filepath) -replace '(?m)^(1A100110002,)(prod.*)(,.*)$', '$1product fortnox 2$3' | Out-File $dest
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...