powershell - 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 窗口会正确显示我要获取的数据,但会输出一个空文件。
解决方案
我自己通过将导入的数据分配给一个变量来解决这个问题。
$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('"','')}