我有多个CSV文件,需要合并为一个。在每个CSV文件中,都有一个标题,第二行中有一些我不需要的文本。
我注意到头文件的| Select -Skip 1
语句。现在我想知道我怎么能跳过第三排?
我试过了,但这给了我一个空文件
Get-ChildItem -Path $CSVFolder -Recurse -Filter "*.csv" | %{
Import-Csv $_.FullName -Header header1, header3, header4 |
Select -Skip 1 | Select -Skip 2
} | Export-Csv "C:\Export\result.csv" -NoTypeInformation
3条答案
按热度按时间bweufnob1#
Select-Object
不允许在其他行之间跳过任意行。如果要从文本输入文件中删除特定的行,可以使用计数器,例如。就像这样:如果输入CSV中的记录没有嵌套换行符,您也可以使用
Get-Content
/Set-Content
,这可能比Import-Csv
/Export-Csv
快一点(由于解析开销更少)。将要跳过的行号增加一,以考虑标题行。brtdzjyr2#
试试这个
hujrc8aj3#
如果您所做的只是跳过所有用户案例中的第一行,那么只需使用-skip 3。
另请参阅:
Parsing Text with PowerShell (1/3)