如何在Powershell中从export-csv删除双引号

时间:2018-06-22 06:33:35

标签: powershell csv

我有以下代码:

$files = Get-ChildItem 'C:\SitePlotsA\' -filter '*.csv'
$currentDate = get-date


for ($i=0; $i -lt $files.Count; $i++) {
    $outfile = $files[$i].FullName + "out" 
    $csv = Import-Csv $files[$i].FullName -Delimiter "|"
    $newcsv = @()
    foreach ( $row in $csv ) {
        $row | Add-Member -MemberType NoteProperty -Name "TimeStamp" -Value $currentDate -Force
        $newcsv += $row
    }


    $newcsv | Export-Csv $files[$i].FullName -NoTypeInformation -Delimiter "|"

}

它的作用是将所有csv文件导入给定目录中,并使用当前日期时间添加新列。它还将我的所有数据封装在双引号“”中。反正有没有双引号输出它吗?我到处都是。

我希望它通过查看CSV目录来保持原样,而不是指向单个csv。

谢谢!

1 个答案:

答案 0 :(得分:1)

假设您需要以不正确提取CSV数据格式的方式手动解释此数据,则应该能够通过执行以下操作来实现将数据馈送到SQL表时的要求每行上有一个replace(作为字符串)。

您需要将"|"替换为|,然后从两端将"移开。

例如:

$data = Get-Content $csvfile
$data | foreach {$_.replace('"|"','|').TrimStart('"').TrimEnd('"')}
相关问题