我需要替换csv文件中的一些文本。我想只有在双引号内才能替换逗号。我如何在Powershell中做到这一点?
Example input:
ID, City, State
1,"Cape, Town",Tx
2,Sarasota,Fl
3,"Long, Beach",Ca
Example output:
ID, Name, Title
1,"Cape Town",Tx
2,Sarasota,Fl
3,"Long Beach",Ca
答案 0 :(得分:2)
我不确定我完全理解你的问题,我认为你担心你的CSV结构,而不是让城市没有引号的可能性,其中逗号不应被删除?对我来说没有多大意义,因为那可能会破坏事物。总之...
$x = Import-CSV ex.csv
$x |% {$_.City = $_.City.Replace(',','')}
$x | Export-CSV out.csv
这可能适合你。
答案 1 :(得分:0)
您可以更改分隔符,替换和重新更改分隔符:
(import-csv "c:\temp\file1.csv" | ConvertTo-Csv -Delimiter ";" -NoType ).Replace(',', '').Replace(';', ',') | out-file "c:\temp\file1.csv"