首页 > 解决方案 > 使用变量从 CSV 中删除多列 - Powershell

问题描述

我试图找出一种方法来传递列列表作为导入 CSV 文件时要排除的参数。当我明确列出列时,我可以使代码正常工作,但希望能够从调用应用程序中传入列列表的参数,这样我就不必在每次需要排除更多列时更新脚本.

这当然有效:

$NewCsv = Import-CSV $FileFullPath | Select * -ExcludeProperty user_id,first_name,last_name,email

但这不起作用:

$removecolumns = "'user_id','first_name','last_name','email'"
$NewCsv = Import-CSV $AuraFileFullPath | Select * -ExcludeProperty $removecolumns

也不是这个:

$removecolumns = "user_id,first_name,last_name,email"
$NewCsv = Import-CSV $AuraFileFullPath | Select * -ExcludeProperty $removecolumns

或这个:

$removecolumns = @('user_id','first_name','last_name','email')
$NewCsv = Import-CSV $AuraFileFullPath | Select * -ExcludeProperty $removecolumns

我会继续挖掘,但任何建议将不胜感激!

标签: powershell

解决方案


我最终让它使用

 $removecolumns = @('user_id','first_name','last_name','email')
$NewCsv = Import-CSV $AuraFileFullPath | Select * -ExcludeProperty $removecolumns

调用脚本并传入@('user_id','first_name','last_name','email') 作为参数的应用程序是问题所在。

谢谢!


推荐阅读