Я пытаюсь сравнить два CSV-файла, первый называется tickets.csv и содержит заголовки столбцов: «tcn», «two», «twod». Второй файл называется tracker.csv и содержит заголовки: «cn», «wo» и «wod». Я хотел бы вывести содержимое tracker.csv, и если какой-либо "tcn" (tickets.csv) совпадает с "cn" (tracker.csv), то записать связанные с ним "two" (tickets.csv) в "wo" ( tracker.csv) и "twod" (tickets.csv) в "wod" (tracker.csv).
Я сталкиваюсь с проблемой, когда мой код не перемещает "два" или " wod ", и это также запись каждого объекта 4 раза.
Входные CSVs
Import-Csv "$home\Desktop\nestTest\tracker.csv" |
ForEach-Object {
$machine = $_.machine
$wo = ""
$wod = ""
$tickets = import-csv "$home\Desktop\nestTest\tickets.csv"
foreach ($ticket in $tickets) {
try {
$tcn = ""
$two = ""
$twod = ""
$two = $_.wo
$twod = $_.wod
$tcn = $_.cn
if ($tcn -eq $machine) {
$wo = $two
$wod = $twod
}
else {
$wo = ""
$wod = ""
}
}
catch {
}
[pscustomobject]@{
"Machine Name"=$machine
"Work Order #"=$wo
"Work Order Date"=$wod
}
}
} |
select "Machine Name","Work Order #","Work Order Date" |
Export-Csv "$home\Desktop\nestTest\output.csv"