我必须使用csv文件执行powershell脚本,我需要为变量设置一个值,这是一个完整的列,只有这个列:
我已经这样做了:
$fichierCSV = "C:\file.csv"
$listetel = Import-Csv $fichierCSV -Delimiter "t"
有人知道如何在变量中设置一个包含此列的值吗?
感谢您的帮助。
编辑:
我已经做到了:
$listetel = Import-Csv $fichierCSV -Delimiter "t" | select Noannuaire, NewPropertyName
Write-Host $listetel
当我发布时,这让我回答:
@{Noannuaire=; NewPropertyName=} @{Noannuaire=; NewPropertyName=} @{Noannuaire=; NewPropertyName=}
有人有解决方案吗? :/
EDIT2:我已经这样做了:
$listetel = Import-Csv $fichierCSV -Delimiter "t" | select Noannuaire, NewPropertyName
$listetel |ft
但现在窗口显示了这个:
我不知道我的csv文件是否有问题,有人有想法吗?
答案 0 :(得分:1)
如果您只想要值(不含属性名称),请尝试:
$listetel | select -ExpandProperty Noannuaire
如果要添加额外的列(属性),请尝试:
$listetel | select Noannuaire, NewPropertyName
编辑:
得到@{Noannuaire=; NewPropertyName=} @{Noannuaire=; NewPropertyName=}...
,因为这是您要求的Write-Host $listetel
- >尝试$listetel
或$listetel | ft
(不使用写主机):)
EDIT2: 我们来做以下几点:
$listetel = Import-Csv $fichierCSV -Delimiter "`t"
注意-Delimiter "`t"
!不像你写的那样-Delimiter "t"
$listetel | select Noannuaire | ft -AutoSize
您应该在下方看到姓名Noannuaire
和您的值。如果值仍为空,则名称Noannuaire
不会被识别为列名。你应该检查一下(可能不是在第一行或你发布了错误的分隔符)。
$selected = $listetel | select Noannuaire, NewPropertyName
如果您认为这是解决问题的方法,请将此答案标记为最佳答案,以便我们完成此问题。干杯!