0

かなり単純な要求ですが、苦労しています。30 列の .csv ファイルがあります。1 つの列「sku」には、変更が必要な製品コードが含まれています。次に、変更された列を含むすべてのデータを元のファイルに書き込む必要があります。

これまでのところ、「sku」オブジェクトを選択して展開し、いくつかの正規表現を使用して変更を行いましたが、これは期待どおりに機能します。

ただし、Export-Csv を使用してファイルをエクスポートすると、テキスト プロパティ値 .length しか取得できません。-replace が暗黙的にオブジェクトを文字列に変換しているためと思われますか?

また、他のすべてのプロパティを選択して -replace を一緒に実行する方法がわからないため、他の列を選択していません。

私を助けてください。

$CSVFiles = Get-ChildItem -Path D:\Exports\Test\AMAZON -File -Filter '*.csv' | Where Extension -eq '.csv'
foreach ($csv in $CSVFiles) {
$csvOutput = Import-Csv $csv.FullName
$sku = $csvOutput | Select-Object -ExpandProperty sku | 
Foreach-Object {$_ -replace '^.*?(?=T)',''} | 
Export-Csv $csv.FullName -NoType
} 
4

1 に答える 1