解析现有的CSV文件并删除某些列

时间:2018-11-29 14:08:41

标签: powershell csv parsing

我有一个CSV文件,其中包含50个不同的列和1000行。我不需要所有这些信息,现在想通过它解析并删除不需要的列。

我想保留每行(用户),所以我不应该删除这些批发,但是,我大约有十几列需要删除数据。我该怎么办?

例如。

User1 | Name | Age    | Location | Gender | HairColor
keep  | keep | remove | remove   | keep   | remove

1 个答案:

答案 0 :(得分:1)

如果要完全删除列:

$CSV = Import-Csv $Path | Select-Object -Property User1, Name, Gender
$CSV | Export-Csv $NewPath -NoTypeInformation

或者,如果更简单:

$CSV = Import-Csv $Path | Select-Object -Property * -ExcludeProperty Age, Location, HairColor
$CSV | Export-Csv $NewPath -NoTypeInformation

如果您希望保留列但为空:

$CSV = Import-Csv $Path | Select-Object -Property User1, Name, @{n='Age';e={}}, @{n='Location';e={}}, Gender, @{n='HairColor';e={}}
$CSV | Export-Csv $NewPath -NoTypeInformation