Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用powershell从csv文件读取数据,并在阵列中对每行数据进行strore_Powershell_Csv_Row - Fatal编程技术网

使用powershell从csv文件读取数据,并在阵列中对每行数据进行strore

使用powershell从csv文件读取数据,并在阵列中对每行数据进行strore,powershell,csv,row,Powershell,Csv,Row,我想将每一行的数据读入一个数组,并将其传递给另一个工具,但无法这样做,因为我正在将所有列的数据收集到一起,例如列1的所有数据都出现了 结果如下 #My script is as below $empdata = import-csv Log.csv ForEach ($Item in $empdata){ "FirstName = $($empdata.FirstName) LastName = $($empdata.LastName) Laptop = $($

我想将每一行的数据读入一个数组,并将其传递给另一个工具,但无法这样做,因为我正在将所有列的数据收集到一起,例如列1的所有数据都出现了

结果如下

#My script is as below 
$empdata = import-csv Log.csv
    ForEach ($Item in $empdata){
    "FirstName = $($empdata.FirstName)
    LastName = $($empdata.LastName)
    Laptop = $($empdata.Laptop)
    AccessCard = $($empdata.AccessCard)
    Phone = $($empdata.Phone)
    Building = $($empdata.Building)
    Location = $($empdata.Location)"
    Write-host $FirstName $LastName $Laptop  $AccessCard $Phone $Building 
    $Location
$empdata.FirstName
=整个
FirstName
列(所有行)

$item.FirstName
=foreach迭代中当前行的
FirstName


$FirstName$LastName$Laptop$AccessCard$Phone$Building$Location
:在您的示例中,这些都是空的(并且不需要生成您想要的输出)

您将管道对象设置为
$Item
,但没有在foreach块中使用它。我们不知道您的CSV文件中有什么内容。请包括一个示例。谢谢Matt获得了它。将代码更改为FirstName=$($ID.FirstName)注意,您获得的输出与
Import Csv Log.Csv | Format List
几乎相同。我希望在这个
foreach
循环中得到的是每一行,而不是每一列。如何将每一行($item)作为可以添加属性的单个对象获取?@IfediOkonkwo
$item
是行对象。您应该能够使用
addmember
添加属性,例如:
$item | add Member-MemberType NoteProperty-Name NewField-Value“duh”-Force
Hmmm,,我明白了。我尝试的是:
$item.NewField=“duh”
。那没用。我想等我有空的时候,我会尝试添加成员。谢谢。虽然此代码可能提供问题的解决方案,但强烈建议您提供有关此代码为什么和/或如何回答问题的其他上下文。从长远来看,纯代码的答案通常会变得毫无用处,因为未来遇到类似问题的观众无法理解解决方案背后的原因。
FirstName = Suresh Krishna Shiva
LastName = setty Murthy Reddy
Laptop = Lenovo Lenovo Hp
AccessCard = yes No Yes
Phone = 123456789 45678932 12378945
Building = T4 P1 DT14
Location = Chennai Bangalore Hyderabad
FirstName = Suresh Krishna Shiva
LastName = setty Murthy Reddy
Laptop = Lenovo Lenovo Hp
AccessCard = yes No Yes
Phone = 123456789 45678932 12378945
Building = T4 P1 DT14
Location = Chennai Bangalore Hyderabad
FirstName = Suresh Krishna Shiva
LastName = setty Murthy Reddy
Laptop = Lenovo Lenovo Hp
AccessCard = yes No Yes
Phone = 123456789 45678932 12378945
Building = T4 P1 DT14
Location = Chennai Bangalore Hyderabad

I  am trying to get data in the below format


FirstName = Suresh
LastName = setty
Laptop = Lenovo
AccessCard = yes
Phone = 123456789
Building = T4
Location = Chennai    
$empdata = Import-Csv Log.csv

foreach ($item in $empdata) {
    "FirstName = $($item.FirstName)
    LastName = $($item.LastName)
    Laptop = $($item.Laptop)
    AccessCard = $($item.AccessCard)
    Phone = $($item.Phone)
    Building = $($item.Building)
    Location = $($item.Location)"
}
#classiq method
import-csv "c:\temp\test.csv" | %{
   "FirstName=$($_.FirstName)"
   "LastName=$($_.LastName)"
   "Phone=$($_.Phone)"
}

#other method with format
import-csv "c:\temp\test.csv" | %{
   "FirstName={0}`nLastName={1}`nPhone={2}" -f $_.FirstName, $_.LastName, $_.Phone
}
Import-Csv .\Log.csv | ForEach-Object{

    "
        FirstName= $($_.FirstName) `n
        LastName= $($_.LastName)   `n
        Laptop= $($_.Laptop)       `n
        AcessCard= $($_.AcessCard) `n
        Phone= $($_.Phone)         `n
        Building= $($_.Building)   `n
        Location= $($_.Location)
    "
}