Arrays 如何使用PowerShell更新csv文件中的内容或数据值行?
我需要更新一个.csv文件而不添加任何额外的行或新行,所以我只需要更新一行数据。输入数据是行的形式,我使用foreach循环 请帮助指导。我将逐步使用ForEach并浏览每一行,更改需要更改的一行,然后创建一个新的输出文件 想象一下这样的.csv 动物、名字、年龄 猫,芬尼根,3岁 猫,皮聘,5 狗,菲多,2 蜥蜴,德拉科,1 假设我想把动物类型从蜥蜴改成猫Arrays 如何使用PowerShell更新csv文件中的内容或数据值行?,arrays,powershell,export-to-csv,Arrays,Powershell,Export To Csv,我需要更新一个.csv文件而不添加任何额外的行或新行,所以我只需要更新一行数据。输入数据是行的形式,我使用foreach循环 请帮助指导。我将逐步使用ForEach并浏览每一行,更改需要更改的一行,然后创建一个新的输出文件 想象一下这样的.csv 动物、名字、年龄 猫,芬尼根,3岁 猫,皮聘,5 狗,菲多,2 蜥蜴,德拉科,1 假设我想把动物类型从蜥蜴改成猫 $csv = import-csv C:\Path\To\Your.csv $outputFile = New-Object Syste
$csv = import-csv C:\Path\To\Your.csv
$outputFile = New-Object System.Collections.ArrayList
ForEach($row in $csv){
If ("Lizard" -eq $row.Animal){
Write-Output "Changing Animal type for $($row.Name) from $($row.Animal) to 'Cat'"
$row.Animal = 'Cat'
}
$outputFile.Add($row) | Out-Null
}
$outputFile | Export-Csv c:\Path\To\Updated.csv -NoTypeInformation
这将为任何发生更改的行提供此输出:
Changing Animal type for Draco from Lizard to 'Cat'
您只需定制它以满足您的需要 谢谢分享这些信息。这是非常有用的,我能够根据需要进行自定义,但当导出文件时,它会生成默认的头名称H1。尝试导入Csv,但没有得到更新标头名称的预期结果。有什么建议吗?如果你的输入文件根本没有标题,你可以这样指定它们。导入csv c:\temp\t.csv-标题动物、狗、猫。如果这对您有帮助,请记住标记为答案。