Question
Combiner deux fichiers CSV
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6294
- Remerciements reçus 67
il y a 1 an 1 mois #32539
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Combiner deux fichiers CSV
une possible solution:
#on transforme du texte en objet
$Objets=Get-Content C:\temp\combined\1.csv|ConvertFrom-Csv -Delimiter ';' -Header 'Nom','Numero','Nouveau'
#on lit du texte
$Liste=Get-Content C:\temp\combined\2.csv
#combinaison des deux sources de données
$Indice=0
Foreach ($item in $objets)
{
$Item.Nouveau=$Liste[$Indice++]
}
$Objets
#Affectation multiple, on supprime le premier et on garde le reste
$Removed,$Result=$Objets|ConvertTo-Csv -NoTypeInformation -Delimiter ';'
$Result
#Reste le pb de formatage dans la structure d'origine
# solution 1 on traite des chaines de caractères
$Result[0]
$Result[0] -replace '"',''
#ou
# solution 2 on traite les propriétés de l'objet
# ajoute un délimiteur entre chaque item lorsque l'on transforme un tableau en string
$ofs=';'
"$($Objets[0].psobject.Properties.value)"
#A tester
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- kren
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 1 an 1 mois #32544
par kren
Réponse de kren sur le sujet Combiner deux fichiers CSV
Bonjour Laurent,
Un grand merci pour le temps consacré, ça y est le résultat attendu est le bon avec la commande ci-dessous:
#on transforme du texte en objet
$Objets=Get-Content "path\1.csv" |ConvertFrom-Csv -Delimiter ';' -Header 'Export','Date','Extraction'
#on lit du texte
$Liste=Get-Content "path\2.csv"
#combinaison des deux sources de données
$Indice=0
Foreach ($item in $objets)
{
$Item.Extraction=$Liste[$Indice++]
}
$Objets
#Affectation multiple, on supprime le premier et on garde le reste
$Removed,$Result=$Objets|ConvertTo-Csv -NoTypeInformation -Delimiter ';' > .\attendu.csv
Merci encore pour l'aide et bonne journée
Un grand merci pour le temps consacré, ça y est le résultat attendu est le bon avec la commande ci-dessous:
#on transforme du texte en objet
$Objets=Get-Content "path\1.csv" |ConvertFrom-Csv -Delimiter ';' -Header 'Export','Date','Extraction'
#on lit du texte
$Liste=Get-Content "path\2.csv"
#combinaison des deux sources de données
$Indice=0
Foreach ($item in $objets)
{
$Item.Extraction=$Liste[$Indice++]
}
$Objets
#Affectation multiple, on supprime le premier et on garde le reste
$Removed,$Result=$Objets|ConvertTo-Csv -NoTypeInformation -Delimiter ';' > .\attendu.csv
Merci encore pour l'aide et bonne journée
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6294
- Remerciements reçus 67
il y a 1 an 1 mois #32546
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Combiner deux fichiers CSV
Bonne fin de journée à toi aussi.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.049 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Combiner deux fichiers CSV