我有一个巨大的csv文件(大约100GB)。我的问题是我需要用分号(;)替换文件中的逗号(,),除了双重逗号("")之外的逗号。
我尝试了几种方法,但似乎都没有。此修改也需要在Windows上,因此sed和awk不可用。
例:
输入:" A,B,C",D,E," FG"," H,J",K
输出:" A,B,C&#34 ;; D; R;" FG&#34 ;; H,J; K
完成后,我需要删除"。
我可以删除"从文件中可以看出,但是每次更换分号都会失败。
如果可以通过Powershell实现,请告知我们。
答案 0 :(得分:1)
这应该处理分隔符替换和删除双引号:
Get-Content ./File.csv -ReadCount 1000 |
foreach { $_ -replace ',(?=(?:[^"]|"[^"]*")*$)',';' -replace '"' } |
Add-Content ./NewFile.csv
并且无需第三方实用程序即可高效处理大型文件。