我有一个CSV文件,其列名称为Users。该列有3行1个单单元格
示例:
Domain\User0 Domain\User1 Domain\Group
print("You are " + str(current_year - birth_year) + " years old.")
我得到的输出为:
PS> Write-Host $user0 Domain\User0 Domain\User1 Domain\Group PS> Write-Host $user1 PS> Write-Host $group
我需要类似的输出
PS> Write-Host $user0 Domain\User0 PS> Write-Host $user1 Domain\User1 PS> Write-Host $group Domain\Group
答案 0 :(得分:0)
在换行符处拆分字段:
$entry = Import-Csv Input.csv |
Select-Object -First 1 |
ForEach-Object {$_.Users -split '\r\n' }
或更简单:
$entry = (Import-Csv Input.csv | Select-Object -Expand Users -First 1) -split '\r\n'
答案 1 :(得分:0)
我相信这将是CRLF的问题。
$entry = ((Get-Content File.csv) -replace "(?<!\r)\n","`r`n" | ConvertFrom-Csv).Users
$user0 = $entry[0]
$user1 = $entry[1]
$group = $entry[2]
您将需要仅将LF字符的行替换为CRLF,然后从CSV格式读取。
答案 2 :(得分:0)
如果您的(有效)Input.csv
内容如下:
> Get-Content .\Input.csv
"Users"
"Domain\User0
Domain\User1
Domain\Group"
$user0,$user1,$group = (Import-Csv Input.csv)[0].Users -split '\r?\n'
将拆分并直接分配变量
答案 3 :(得分:0)
只需这样做:
$user0, $user1, $Group=(Import-Csv C:\temp\Input.csv).Users