Arrays 在powershell中组合和修改数组中的对象以创建新数组
我有一个csv,其中的列包含用户的名字和姓氏。我已经研究了如何使用以下方法从每个列导入csv数据:Arrays 在powershell中组合和修改数组中的对象以创建新数组,arrays,powershell,csv,Arrays,Powershell,Csv,我有一个csv,其中的列包含用户的名字和姓氏。我已经研究了如何使用以下方法从每个列导入csv数据: $firstname = Import-csv .\data.csv | select-object "Employee First Name" $lastname = Import-csv .\data.csv | select-object "Employee Last Name" 我还发现: $username=$firstname.substring(0,1)+$lastname
$firstname = Import-csv .\data.csv | select-object "Employee First Name"
$lastname = Import-csv .\data.csv | select-object "Employee Last Name"
我还发现:
$username=$firstname.substring(0,1)+$lastname
使用system.string
对象时工作。问题是我需要遍历所有的名称来创建一个带有用户名的新列,然后我得到了错误
System.Object[]不包含名为“substring”的方法。
我原以为我可以使用
$firstname.ToString()
转换成字符串,但我似乎把它搞砸了。非常感谢您的帮助,因为我仍在努力学习powershell。错误是自我表达的$firstname
不是字符串$firstname
是字符串的数组
尝试:
$username = ($firstname[0]).substring(0,1)+$lastname[0]
你最好使用:
$employees = Import-csv .\data.csv
foreach ($employee in $employees)
{
$username=($employee.'Employee First Name').substring(0,1)+($employee.'Employee Last Name')
}
看起来您正在尝试创建用户名。所以我不知道为什么要一次导入一列 但这可能对你有用
$names = Import-Csv .\test.csv
$userNames = New-Object 'System.Collections.Generic.List[String]'
foreach ($name in $names)
{
$userNames.Add($($name.firstName.Substring(0,1) + $name.lastName))
}