带双引号的CSV文件

时间:2014-03-17 13:10:51

标签: powershell csv export-to-csv

我从Power Shell导出了一个包含3列的CSV文件。第一列我需要双引号,但我不想在第2列和第3列中引用。有没有办法在导出csv文件时指定这个或者是否有某种方法可以将格式修改为csv文件以删除第2列和第3列的双引号?

当前格式

"列1""列2""栏3",

需要格式

"列1",列2,栏3,

1 个答案:

答案 0 :(得分:0)

此脚本应该适合您:

############ Update these ############
$InputFile = 'C:\test\myfile.csv';
$OutputFile = 'c:\test\myfile.new.csv';
######################################

$Lines = Get-Content -Path $InputFile;

$NewLines = @()
foreach ($Line in $Lines) {
    $Match = [Regex]::Match($Line, '(.*?".*?")(.*)');
    $NewLines += $Match.Groups[1].Value + ($Match.Groups[2].Value -replace '"', '');
}

Set-Content -Path $OutputFile -Value $NewLines;

我使用以下CSV文件内容进行了测试:

Col1,Col2,Col3
"asdf asdf","asdf","asdf"