Задать вопрос
@Z-RoVeR

Как при помощи powershell сравнить 2 csv файла и записать из разницу в 3-й?

Есть 2 csv файла с более чем 3к строк. Структура столбцов у них одинаковая, каждом есть столбцы Name, Surname, Email, Phone и т.д.
Интересует сравнение этих файлов только по столбцу Email и запись не дублирующихся строк в 3-й(желательно с маркировкой в каком файле этот email присутствует, а в каком нет.)
Я очень долго танцевал с Compare-Object, но так и не добился результата. Может что сталкивался с подобной задачей?
  • Вопрос задан
  • 2244 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 1
@azarij
В меру опытный никто
if(test-path c:\test\unique_emails.csv){remove-item c:\test\unique_emails.csv -force}
$1csv = Import-Csv C:\test\1.csv -Delimiter "`t"
$2csv = Import-Csv C:\test\2.csv -Delimiter "`t"
foreach ($line in $1csv){if($2csv -notmatch $line.email){$line | export-csv -notypeinformation -delimiter "`t" -path c:\test\unique_emails.csv -Append}}

1.csv
name email phone
ak ak@ak.com 0123456
kb kb@kb.com 98543221
akk akk@akk.com 0123456
kak kak@kak.com 98543221
aak aak@aak.com 0123456
kka kka@kka.com 98543221
aka aka@aka.com 0123456
kakk kakk@kakk.com 98543221

2.csv
name email phone
ak ak@ak.com 0123456
kb kb@kb.com 98543221
akkk akkk@akkk.com 0123456
kakk kakk@kakk.com 98543221
aakk aakk@aakk.com 0123456
kkak kkak@kkak.com 98543221
akak akak@akak.com 0123456
kakkk kakkk@kakkk.com 98543221

в цсв файлах все разделено табами
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@forspamonly2
compare-object (Import-Csv 1.csv) (Import-Csv 2.csv) -Property "email" -PassThru
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы