首页 > 解决方案 > Powershell Export-csv 仅导出标头

问题描述

我有一个逗号分隔的文本文件,我试图通过一个脚本运行它以仅获取当月的数据。当我运行脚本时,它会输出一个仅包含标题行的文件,其余的只是逗号行:

Header1, Header2, Header3, Jan
,,,
,,,
,,,

原始文件列由命名的标题和 12 个月的数据组成,其中标题是月份的 3 个字母缩写。即:一月=一月

我的代码在这里:

$date = Get-Date -Format MMM

(Import-CSV "C:\file.txt") |
    Select "Header1","Header2","Header3","$date" |
    Export-Csv -Delimiter "," -path "C:\temp.txt" -NoTypeInformation | % {$_.Replace('"','')} 

此外,如果我没有第一个管道,则 powershell 窗口会正确显示我要获取的数据,但会输出一个空文件。

标签: powershellcsvimport-csvexport-csv

解决方案


我自己通过将导入的数据分配给一个变量来解决这个问题。

$date = Get-Date -Format MMM

$data = (Import-CSV "C:\file.txt") |
    Select "Header1","Header2","Header3","$date" |
    Export-Csv -Delimiter "," -path "C:\temp.txt" -NoTypeInformation | % {$_.Replace('"','')} 


推荐阅读