我正在尝试用£
替换CSV中的GBP
个字符。
我创建了一个测试CSV(C:\ test \ test1),如下所示:
col1, £100 Test
我设法编写了以下代码:
Import-Csv C:test\test1.csv |
ForEach { if($_.ou -match "£") {$_.OU = $_.OU -replace "£","GBP"}; $_} |
Export-Csv C:\test\test1replaced.csv -NoTypeInformation
我的问题是,在创建的文件中,£
符号似乎被?
替换而不是GBP
。看不出我做错了什么。
答案 0 :(得分:0)
引用Jeroen Mostert的答案:
替换:
Import-Csv C:test\test1.csv |
ForEach { if($_.ou -match "£") {$_.OU = $_.OU -replace "£","GBP"}; $_} |
Export-Csv C:\test\test1replaced.csv -NoTypeInformation
有了这个:
Import-Csv C:test\test1.csv -Encoding UTF8 |
ForEach { if($_.ou -match "£") {$_.OU = $_.OU -replace "£","GBP"}; $_} |
Export-Csv C:\test\test1replaced.csv -NoTypeInformation
您应该使用 -Encoding Switch并将类型设置为UTF8以完成它。
答案 1 :(得分:0)
非常感谢您的投入。它看起来不像,但它让我得到了我想出的东西:
(get-content C:test\test1.csv).replace('£', 'GBP') | set-content C:\test\test1replaced.csv