comparer deux csv à l'aide de powershell et le retour d'appariement et de la non-correspondance des valeurs
J'ai deux fichiers csv, je veux vérifier les utilisateurs dans le nom d'utilisateur.csv correspond avec les données de l'utilisateur.csv copie
à la sortie.csv. Si elle ne correspond pas à revenir rien que le nom de la sortie.csv
Ex: Données de l'Utilisateur contient 3 colonnes
UserName,column1,column2
Hari,abc,123
Raj,bca,789
Max,ghi,123
Arul,987,thr
Prasad,bxa,324
nom d'utilisateur.csv contient les noms d'utilisateur
Hari
Rajesh
De sortie.csv doit contenir
Hari,abc,123
Rajesh,NA,NA
Comment atteindre cet objectif. Grâce
Désolé.
$Path = "C:\PowerShell"
$UserList = Import-Csv -Path "$($path)\UserName.csv"
$UserData = Import-Csv -Path "$($path)\UserData.csv"
foreach ($User in $UserList)
{
ForEach ($Data in $UserData)
{
If($User.Username -eq $Data.UserName)
{
# Process the data
$Data
}
}
}
Cela renvoie uniquement les valeurs correspondantes. J'ai aussi besoin d'ajouter la non-correspondance des valeurs en sortie
fichier. Merci.
Vous devez vous connecter pour publier un commentaire.
quelque chose comme cela fonctionne:
Il parcourt chaque nom dans la liste des utilisateurs. La ligne 9 est une recherche de la userdata CSV pour un nom d'utilisateur correspondant s'il le trouve, il ajoute l'utilisateur des données de l'utilisateur à la sortie si aucune correspondance n'est trouvée, il ajoute le nom de l'utilisateur à la sortie NA en deux colonnes.
dû changer votre userList csv:
résultat attendu: