我有一个csv文件,其中有这样的数据:
"89216865";"89216865";"Alternator";"PowerMax";"4543"
"MG 149";"MG 149";"MAHLE Alternator";"MAHLE AM GmbH";"4543"
"MG 258";"MG 258";"MAHLE Alternator";"MAHLE AM GmbH";"4543"
"MS 222";"MS 222";"MAHLE Starter";"MAHLE AM GmbH";"4543"
"MS 241";"MS 241";"MAHLE Starter";"MAHLE AM GmbH";"4543"
"MS 29";"MS 29";"MAHLE Starter";"MAHLE AM GmbH";"4543"
"MS 386";"MS 386";"MAHLE Starter";"MAHLE AM GmbH";"4543"
"MS 645";"MS 645";"MAHLE Starter";"MAHLE AM GmbH";"4543"
"MS 230";"MS 230";"MAHLE Starter";"MAHLE AM GmbH";"4543"
"3300216";"3300216";"Alternator OE";"PowerMax";"4543"
"9213171";"9213171";"Alternator";"PowerMax";"4543"
"8212676";"8212676";"Starter";"PowerMax";"4543"
"9214266";"9214266";"Alternator";"PowerMax";"4543"
在出现"MAHLE“的每一行中,我都需要将字符串"4543”替换为"287“。
我试过这个。
Get-Content "C:\Users\SvcBI\Documents\Autodoc\Autodoc_Temp.csv" |
Foreach-Object ($_ -match "MAHLE AM GmbH") {-replace "4543", "287"} |
Set-Content C:\Users\SvcBI\Documents\Autodoc\POWERMAX_DK_2.csv
请帮助/Kim
发布于 2022-08-16 18:05:19
看起来你在使用Powershell。
一种方法是读取行,如果行包含值,则执行替换操作。
参见this page关于$_
的含义
Get-Content "C:\Users\SvcBI\Documents\Autodoc\Autodoc_Temp.csv" | ForEach-Object {
if($_.Contains("MAHLE AM GmbH")) {
$_.Replace("4543", "287")
} else { $_ }
} | Set-Content C:\Users\SvcBI\Documents\Autodoc\POWERMAX_DK_2.csv
https://stackoverflow.com/questions/73374567
复制相似问题