Faire une jointure entre 2 fichiers CSV
PLAYZIR
Messages postés
5
Statut
Membre
-
Noa -
Noa -
Bonjour,
J'ai besoin de fusionner 2 fichiers CSV pour n'en faire plus qu'un.
- Dans le premier fichier CSV il y a NOM,PRENOM,AGE,DATE_NAISSANCE.....
- Dans le deuxième fichier il y a NOM,PRENOM,CODE
Il faudrait que le script associe à chaque personne son code.
Sauriez-vous comment faire ??
Merci ! :)
1 réponse
-
Bonjour, voici comment vous pourriez faire pour fusionner ces deux fichiers CSV en utilisant PowerShell :
- Téléchargez et installez la module CsvHelper si vous ne l'avez pas déjà fait en utilisant la commande suivante :
Install-Module -Name CsvHelper- Importer la module CsvHelper dans votre script PowerShell en utilisant la commande suivante :
Import-Module CsvHelper- Créez une fonction qui prend en entrée les deux fichiers CSV et qui retourne un tableau d'objets contenant les données fusionnées :
function Merge-Csvs { param ( [Parameter(Mandatory=$true)] [string]$file1, [Parameter(Mandatory=$true)] [string]$file2 ) $csv1 = Import-Csv $file1 $csv2 = Import-Csv $file2 # Fusionnez les deux fichiers CSV en utilisant une jointure basée sur le nom et le prénom $mergedData = $csv1 | Join-Object -Left $csv2 -LeftJoinProperty 'NOM' -RightJoinProperty 'NOM' -Type Default | Join-Object -Left $csv2 -LeftJoinProperty 'PRENOM' -RightJoinProperty 'PRENOM' -Type Default | Select-Object * -ExcludeProperty 'NOM','PRENOM' # Retourne le tableau d'objets fusionnés return $mergedData }- Appelez la fonction Merge-Csvs en passant en paramètre les deux fichiers CSV que vous souhaitez fusionner :
$mergedData = Merge-Csvs -file1 'C:\path\to\file1.csv' -file2 'C:\path\to\file2.csv'- Vous pouvez maintenant utiliser le tableau d'objets $mergedData pour effectuer des opérations sur les données fusionnées, par exemple en les exportant dans un nouveau fichier CSV :
$mergedData | Export-Csv -Path 'C:\path\to\output.csv' -NoTypeInformationJ'espère que cela vous aidera à fusionner vos fichiers CSV avec PowerShell. Bonne soirée / journée !