如何格式化使用powershell import-csv获取的数据

时间:2016-03-08 15:59:38

标签: excel csv powershell

我使用import-csv导入了一个csv文件。我只想要列表中的帐号。  data from import-csv

我用过

$Numbers = Import-Csv csv.csv |Select-Object -ExpandProperty 'Account Number' |Where-Object {$_ -ne "0"} | Out-Null 

但我希望用#34;'"""""并将帐号与","分开。理想情况下,列表应如下所示:' account1',' account2',...,' accountlast'。我无法像数组一样操纵$ number变量。

2 个答案:

答案 0 :(得分:0)

你非常接近。您可以导入csv,选择对象,然后使用foreach格式化每个对象,最后用一行写入主机而不是每个对应的中断。

Import-Csv csv.csv | Select-Object -ExpandProperty 'Account Number' | Where-Object {$_ -ne "0"} | ForEach{"'" + $_ + "', "} | Write-Host -NoNewLine

答案 1 :(得分:0)

某些字符串操作和-join应该能够为您完成此操作。虽然从Import-Csv csv.csv | Select-Object -ExpandProperty 'Account Number' | Where-Object {$_ -ne "0"}返回的数组会被认为更加通用!

$numbers = "'{0}'" -f ((Import-Csv csv.csv | Select-Object -ExpandProperty 'Account Number' | Where-Object {$_ -ne "0"}) -join "','")

使用','加入帐号,然后我们使用格式运算符将其括在外部单引号中。