Faire une jointure entre 2 fichiers CSV

Fermé
PLAYZIR Messages postés 5 Date d'inscription lundi 14 février 2022 Statut Membre Dernière intervention 21 décembre 2022 - Modifié le 22 sept. 2022 à 11:33
 Noa - 17 déc. 2022 à 01:36

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 ! :)

A voir également:

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' -NoTypeInformation

J'espère que cela vous aidera à fusionner vos fichiers CSV avec PowerShell. Bonne soirée / journée !

0