-1
我正在使用以下代碼導入和導出爲CSV。我之所以進行導出是因爲我需要將導出的CSV中的所有列都用雙引號括起來。但是在下面的代碼中,雙引號只出現在每一行的第一個和最後一個。使用PowerShell導入和導出CSV以及雙引號中的所有列
Import-Csv c:\Emp.csv | Export-Csv c:\Emp1.csv -NoTypeInformation -Force
請注意,我已經嘗試下面的代碼(即工作,但需要更長的時間,如果CSV的大小是> 200MB):
$inform = Get-Content C:\A.csv
$inform | % {
$info = $_.ToString().Replace("|", """|""")
$info += """"
$var = """" + $info
$var | Out-File D:\B.csv -Append
}
樣品輸入(CSV文件):
1|A|Test|ABC,PQR
樣本輸出(CSV文件):
"1"|"A"|"Test"|"ABC,PQR"
請發佈示例輸入,並輸出每段代碼。這個要求的原因是什麼? AFAIK PowerShell遵循[IETF標準](https://tools.ietf.org/html/rfc4180),因此只有在需要時纔會用引號引起來(即值有特殊字符)。 – gms0ulman
它實際上把整行放在雙引號如下 ''1 | A | Test | ABC,PQR'' – Joseph
'Export-Csv'已經做到了你想要的,但是你正在使用自定義分隔符('| | '),所以你需要將'Import-Csv'和'Export-Csv'指定爲'-Delimiter'|''。 –