【发布时间】:2019-02-21 13:23:58
【问题描述】:
我有几个 csv excel 表,看起来像这样
编者注:如果您有 csv,请发布该 csv 的文本表示形式!
> 获取内容 .\Sheet1.csv 姓名年龄 泽维尔,20 利亚姆,19 莉西,21 > 获取内容 .\Sheet2.csv 姓名年龄 利亚姆,19 莉西,21 弗兰克,25有人可以帮我让它工作并得到一个 csv。
我正在尝试比较从 csv 1 到 csv2 的列“名称”值:
- 如果有匹配项,我想将值存储在名为
array 1的数组中,最后将其导出到 csv。例如 -Liam 和 Lisy - 如果它们不匹配我想将值存储在
array 2上,最后将其导出到 csv。例如 - 泽维尔
我的代码:
$source = Import-Csv C:\output\Source.csv
$target = Import-Csv C:\output\Target.csv
Creating array to store vales
$match = New-Object System.Collections.ArrayList
$donotmatch = New-Object System.Collections.ArrayList
Comparing column values
foreach ($i in $source) {
foreach ($s in $i.name) {
foreach ($t in $target) {
if ($n -eq $t.name) {
$match.Add($n)
}
else
{
$donotmatch.Add($n)
}
}
}
}
$match.ToArray()
$donotmatch.ToArray()
【问题讨论】:
-
你应该看看
Compare-Object。当然,在此之前,您应该在 SO 中搜索您的问题。每周至少要问 10 次这样的问题。 ;-)
标签: powershell csv