Jointure dans des fichiers CSV
Bonjour,
Je démarre en Powershell et je dois effectuer les actions suivantes sur 3 fichiers CSV.
Je vous explique :
- Fichier 1:
Citation:
A,B,C,D
Paul,28,Rouge,Homme
Jean,35,Vert,Homme
- FIchier 2 :
Citation:
E,F,J,
Paul,180,chat
Jean,175,chien
- Fichier3:
Citation:
H,I,J,K
Paul,France, Lyon,avion
Jean,,,Bus
Jean,Italy,,
Je dois récupérer un nouveau fichier avec des jointure et obtenir :
Citation:
Paul,28,vert,Homme,180,chat,France,Lyon,avion
Pouvez-vous me dire comment je dois m'y prendre en powershell ?
Merci et bonnes fetes :)
Jointure dans des fichiers CSV en PowerShell
Bonjour Eric,
Bien vu, j'ai fait une erreur.
La jointure doit se faire au niveau de l'entête A (Fichier1) et E(Fichier2) et H(fichier3).
F1:
A,B,C,D, ID
Jean,28, Homme,celibataire,001
F2:
E,F,J,ID
Jean,voiture,rouge,001
....
On ne peut pas avoir des doublons car il y a un ID unique que j'ai oublié de préciser dans chaque le fichier
Merci pour ton aide Eric.
Jointure dans des fichiers CSV
Hello Eric,
Je suis impressionné à la vitesse à laquelle tu l’as fait. Un grand merci :). J'ai essayé de comprendre le code mais pas évident pour un débutant.
J’ai appris aujourd’hui qu’il y a des changements dans mes jointures et fichiers, je m’explique :
Fichier 1 :
ID, groupe, pays,langue, ville, date de naissance
001, Groupe1,France,français,Lyon, 1980
002,Groupe5,Italy,italien, Rome,1972
Fichier 2 :
Client,nom , prenom,email
22225,Dupont,Paul, paul@xx.fr
12330,Duvent,Jean, jean@xx.com
Fichier 3 :
ID, Date of birth, club, numero club,ID Client
001,1980,foot,X45,22225
002,1972,basket,X40,12330
Fichier 4:
Country,code
France,+33
Italy,+41
Je dois faire une jointure avec les fichiers 1 et 3 et 4 et ensuite 2 :
Fichier de sortie :
ID,Country,langue,ville,date de naissance,club,groupe,client,nom,prenom,email
001,France,français,Lyon,1980,foot,Groupe1,22225,Dupont,Paul, paul@xx.fr
- L’entête Client et ID client : identifiant client ; on peut renommer l’entête en Client par exemple
- ID porte le même nom dans fichier 1 et 3
- Date de naissance et Date of birth c’est la même entête mais avec 2 noms différents
- Tous les champs peuvent être en doublon
Comment supprimer les "" dans le fichier csv result ?
Merci Eric et j’espère que tu passes de bonnes fêtes ..
Jointure dans des fichiers CSV en PowerShell
Hello Eric,
Comment vas-tu ? Prêt pour festoyer :)
Merci le script et j'avais aussi quelques questions pour comprendre comment fonctionne les liaisons :
Code:
1 2 3
| $item = [PSCustomObject]@{
ID = $i.ID
Country = $i.pays ... |
Pourquoi sur certaines entêtes as-tu mis le $i ?
Ensuite, la liaison, tu le fais à ce niveau : $i3 | Where-Object {$_.ID -eq $item.id} ?
A quoi sert le : $item.client = $_."ID Client" ?
Code:
1 2 3
| $i3 | Where-Object {$_.ID -eq $item.id} | Select-Object -First 1 | ForEach-Object {
$item.client = $_."ID Client"
$item.club = $_.club |
Merci encore et si je n'ai pas de tes news avant alors je te souhaite une superbe réveillon :ptdr::mouarf: et rendez-vous en 2020 !! :mrgreen: