私は2つのCSVを持っています。2つの別々のcsvで2つの列にマッチして1つの列をマージする
SOURCE CSV
"Employee ID","username","givenname","surname","emailaddress","title","Division","Location"
"204264","[email protected]","Abdul Jalil","Bin Hajar","[email protected]","Warehouse Associate I","Singapore","Singapore, "
"30053","[email protected]","Abel","Barragan","[email protected]","Manager, Customer Programs - CMS","Germany","Norderstedt, "
CHANGE CSV
givenname,surname,samaccountname,emailaddress,mail,country,city,state
Abigai,Teoyotl Rugerio,Abigai.Teoyotl,[email protected],[email protected],MX,,
Adekunle,Adesiyan,Adekunle.Adesiyan,[email protected],[email protected],US,VALENCIA,CALIFORNIA
私は変更することがSOURCEから姓とgivennameのに合わせて、好きで、CHANGEからの一致グラブがある場合、 "EMAILADDRESS" でしょうCSVを作成し、ソースCSVの新しい列に配置します。
これまでのところ、姓と名の列が一致していません。あなたはすべてを一度に比較・オブジェクトでそれを行うことができれば
$source = import-csv .\ur.csv
$change = import-csv .\all.csv
$Matchgivenname = Compare-Object $source.givenname $change.givenname -IncludeEqual -ExcludeDifferent -PassThru
$matchsurname = Compare-Object $source.surname $change.surname -IncludeEqual -ExcludeDifferent -PassThru
あなたの例は意味をなさない。あなたのsource.csvのエントリはchange.csvのものと一致しません。また、source.csvにはすでにemailaddress列が含まれています。 –
これは、各CSVの先頭の数行に過ぎません。ソースには変更が全くないエントリが含まれていますが、その逆もありますが、両方に表示されるいくつかの名前と姓があります。両方に表示される場合は、変更csvからemailaddressを取得したいと思います新しい列のソースcsvに追加してください – 200mg