【发布时间】:2017-12-19 05:59:17
【问题描述】:
我有 2 个 csv 文件,我想将文件 A 中的新列添加到文件 B 到新文件中。 Atm,不取 A 的值。
文件 A.csv
ID Name
1 Peter
2 Dalas
文件 B.CSV
Class
Math
Physic
新文件将是:
ID Name Class
1 Peter Math
2 Dalas Physics
两个文件的行数相同。
如下我正在使用的代码,我现在想知道如何从文件 A 中获取值并将其放入文件 B。
$CSV1 = Import-Csv ".\A.csv"
$CSV2 = Import-Csv ".\B.csv"
$CSV1 | ForEach-Object {
$Value= $_
$CSV2 | Select-Object *, @{Name='Information';Expression={ $Value}}
} | Export-Csv "C.csv" -NoTypeInformation
【问题讨论】:
-
虽然标题建议重复,但问题的内容有所不同,因为它涉及基于索引加入 对象(而不是文件)。考虑
$CSV1 | Join $CSV2 {$LeftIndex -eq $RightIndex),未记录的功能:stackoverflow.com/questions/1848821/… -
更新了
Join-Objectcmdlet 以通过省略-On参数来更好地支持加入索引。实现上述的命令现在很简单:$CSV1 | Join $CSV2
标签: windows powershell csv merge add