PowerShell读取CSV文件时如何跳过首行从第2行开始循环处理
正确修改方案
使用Get-Content自带的-Skip参数即可在读取时直接跳过指定行数,无需加载全表内容后过滤,修改后代码如下:
foreach($line in Get-Content .\script2.csv -Skip 1) { $firstname = $line.split(';')[0] $lastname = $line.split(';')[1] $email = $line.split(';')[2] $newLine = "$firstname,""$lastname"",""$email""" $newLine >> newCSV.csv }
参数说明
-Skip 1表示读取内容时直接跳过前1行,直接从第2行开始返回内容,所有PowerShell 3.0及以上版本均支持该参数,适配绝大多数Windows运行环境
可选优化
可以将行内容拆分操作只执行一次,减少重复计算损耗:
foreach($line in Get-Content .\script2.csv -Skip 1) { $fields = $line.split(';') $firstname = $fields[0] $lastname = $fields[1] $email = $fields[2] $newLine = "$firstname,""$lastname"",""$email""" $newLine >> newCSV.csv }
内容的提问来源于stack exchange,提问作者Maxime L
相关产品推荐
相关产品推荐

