我想用powershell洗掉我的csv檔案第一列的引號
所以而不是:
"Username","Identifier"
"booker12","9012"
"grey07","2070"
我希望結果是:
Username,"Identifier"
booker12,"9012"
grey07,"2070
要洗掉所有引號,代碼將是
Import-Csv "test.csv" | ConvertTo-CSV -NoTypeInformation | % { $_ -Replace '"', ""} | Out-File C:\CSV_Tests\test.csv -fo -en ascii
但是如何僅洗掉第一列的標記?
謝謝!
uj5u.com熱心網友回復:
如評論所述,建議安裝最新的 PowerShell 版本,該版本具有新的ConvertTo-Csv/ Export-Csvcmdlet和-quotefields.
但是,這對于您的環境來說似乎是不可能的:
$Csv = @'
"Username","Identifier"
"booker12","9012"
"grey07","2070"
'@ -Split '\r?\n'
$Csv -Replace '^"([^"]*)"', '$1'
Username,"Identifier"
booker12,"9012"
grey07,"2070"
解釋:
- 第一個
^標記一行的開始 ([^"]*)選擇不是雙引號的所有連續字符- '$1??' 是在中定義的序列結果的占位符
2.
對于您的檔案,這意味著:
(Get-Content .\Test.csv) -Replace '^"([^"]*)"', '$1' |Set-Content .\Test.csv
- 請注意,
(Get-Content .\Test.csv)不建議使用括號,但如果您寫回同一檔案,則需要使用括號。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/515560.html
標籤:电源外壳CSV引号
