【发布时间】:2019-01-15 22:35:33
【问题描述】:
我有一个包含近 4,000 多行的 CSV 文件,其中随机空白行和以“#”开头的 cmets。我正在尝试导入 CSV 文件,同时跳过空白行或以“#”开头的行。我试过这个:
$csvFile = Import-Csv .\example.csv | Where-Object {$_ -notlike '#*'} | Where-Object {$_ -ne ''}
这不起作用。我也试过:
$csvFile = Import-Csv .\example.csv
Get-Content $csvFile | Where-Object {$_ -notlike '#*' | Where-Object {$_ -ne ''} | Set-Content newCSV.csv
这两种方法都导致文件被导入所有行,并且与原始文件没有任何变化。有一个更好的方法吗?我被难住了。
【问题讨论】:
-
正确,它是重复的。但是该线程中的任何答案都不起作用,并且没有人再响应了。
-
您在原始问题中没有提到空行。在那里查看我的答案,它也过滤掉了空行。
-
顺便说一句 - PowerShell 中的 OR 逻辑运算符是
-or,而不是|。 (|仅用于创建管道。)
标签: powershell csv import powershell-ise