"ID","Full Name","Age"
"1","Jone Micale","25"
此处是我创建的CSV文件中的示例,现在我只想从ID
和Age
列值中删除双引号。
我尝试了不同的方法,但我不想从中创建新文件。我只想使用 PowerShell v1 更新文件并进行更改。
答案 0 :(得分:2)
Export-Csv
将始终将所有字段都放在双引号中,因此您必须以困难的方式删除不需要的引号。这样的事情可能有用:
$csv = 'C:\path\to\your.csv'
(Get-Content $csv) -replace '^"(.*?)",(.*?),"(.*?)"$', '$1,$2,$3' |
Set-Content $csv
正则表达式细分:
^
和$
分别匹配字符串的开头和结尾(Get-Content
返回一个包含文件中行的数组)。"(.*?)"
匹配两个双引号之间的文本,并捕获组中的匹配(不带双引号)。,(.*?),
匹配两个逗号之间的文本,并捕获组中的匹配(包括双引号)。$1,$2,$3
使用逗号分隔的第一,第二和第三组替换匹配的字符串。