如何使用PowerShell脚本删除从CSV文件中对特定的列双引号(How to remove do

2019-10-19 09:52发布

"ID","Full Name","Age"

"1","Jone Micale","25"

从这里我创建的,现在我想仅从删除双引号的CSV文件样本IDAge列的值。

我尝试不同的方法,但我不希望创建一个新的文件出来。 我只是想更新使用PowerShell V1的改变文件。

Answer 1:

Export-Csv将始终把双引号各个领域,所以你必须删除不需要的报价艰辛的道路。 这样的事情可能工作:

$csv = 'C:\path\to\your.csv'
(Get-Content $csv) -replace '^"(.*?)",(.*?),"(.*?)"$', '$1,$2,$3' |
    Set-Content $csv

正则表达式崩溃:

  • ^$分别匹配的字符串的开头和结尾( Get-Content返回与该文件中的线的阵列)。
  • "(.*?)"匹配的是两个双引号之间的文字和一组捕获比赛(不包括双引号)。
  • ,(.*?),匹配的是两个逗号之间文本并拍摄一组在比赛中(包括双引号)。
  • $1,$2,$3替换匹配的字符串与从匹配的逗号分隔的第一,第二和第三组。


文章来源: How to remove double quotes on specific column from CSV file using Powershell script