Résolu Concatenation de 2 rapports (.txt et .csv)
- narwo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 4 ans 2 mois - il y a 4 ans 2 mois #29965
par narwo
Concatenation de 2 rapports (.txt et .csv) a été créé par narwo
Bonjour tout le monde
Je souhaiterais concaténer 2 rapports générés via PowerShell (qui vont chercher eux meme des données dans des rapports .log et .csv) qui ont pour commun des noms d'usagers trappés ici dans une variable $userName
Le rapport .txt est de type
user1 dataX dataY etc...
user2 dataZ dataZA etc
user3 etc ...
et le rapport .csv a la meme liste d'usager avec des données différentes comme :
user1 data99 data100 etc
(je pense que vous avez compris )
Et donc je souhaite ajouter les données du rapport .txt vers le fichier csv. par exemple ajouter les données d'un usager que j'ai dans le rapport .txt et l'ajouter vers la ligne correspondante à cet usager sur une colonne à la fin de la ligne.
Pour arriver si on reprend les exemples ci dessus au résultat dans le rapport csv
user1 data99 data100 DataX DataY
j'ai en tete quelque chose du genre :
(je sais que ce qui est noté ci dessus est incorrect c'est justement aussi parce que je ne sais pas travailler dans un csv via powerShell que je vous demande )
J'espere que mon explication n'est pas trop floue, auquel cas demandez moi des précision et je rectifierai au fur et à mesure.
Merci beauoup pour votre aide, je bloque un peu !
Narwo
Je souhaiterais concaténer 2 rapports générés via PowerShell (qui vont chercher eux meme des données dans des rapports .log et .csv) qui ont pour commun des noms d'usagers trappés ici dans une variable $userName
Le rapport .txt est de type
user1 dataX dataY etc...
user2 dataZ dataZA etc
user3 etc ...
et le rapport .csv a la meme liste d'usager avec des données différentes comme :
user1 data99 data100 etc
(je pense que vous avez compris )
Et donc je souhaite ajouter les données du rapport .txt vers le fichier csv. par exemple ajouter les données d'un usager que j'ai dans le rapport .txt et l'ajouter vers la ligne correspondante à cet usager sur une colonne à la fin de la ligne.
Pour arriver si on reprend les exemples ci dessus au résultat dans le rapport csv
user1 data99 data100 DataX DataY
j'ai en tete quelque chose du genre :
$csvReport = 'csvPath'
$csvFile = Get-content $csvPath
$txtrReport = 'txtPath'
$txtFile = Get-content $txtPath
foreach ($line in $txtFile)
{
if ($line -match $userName)
{
add-content $data -path $csvReport -column x
}
}
J'espere que mon explication n'est pas trop floue, auquel cas demandez moi des précision et je rectifierai au fur et à mesure.
Merci beauoup pour votre aide, je bloque un peu !
Narwo
Dernière édition: il y a 4 ans 2 mois par Arnaud Petitjean. Raison: Mise en forme du code
Connexion ou Créer un compte pour participer à la conversation.
- narwo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 4 ans 2 mois - il y a 4 ans 2 mois #29968
par narwo
Réponse de narwo sur le sujet Concatenation de 2 rapports (.txt et .csv)
It took me a few hours, but I found a way :
$line=''
$data1=''
$data2=''
foreach ($line in $txtReportContent)
{
# username
$line=$line.split()
$username=$line[0]
write-host = "UserName = $username"
#data1
$data1=$line[1]
#data2
$data2=$line[2]
$csvline=''
foreach($csvline in $csvReportContent)
{
if ($csvline -match $username)
{
Add-Content -Path $niceCsvReport -Value $csvline";"$data1";"$data2
write-host $csvline ";"$data1 ";"$data2
}
}
Dernière édition: il y a 4 ans 2 mois par Arnaud Petitjean. Raison: Mise en forme du code
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 4 ans 2 mois #29972
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Concatenation de 2 rapports (.txt et .csv)
Hello,
Bravo si tu as réussi, le but étant de parvenir au résultat escompté !
Mais il aurait été aussi possible (et plus dans l'esprit PowerShell) d'importer tes données sous forme d'un tableau d'objets avec la commande Import-CSV, modifier tes données, puis exporter ton tableau avec Export-CSV.
Arnaud
Bravo si tu as réussi, le but étant de parvenir au résultat escompté !
Mais il aurait été aussi possible (et plus dans l'esprit PowerShell) d'importer tes données sous forme d'un tableau d'objets avec la commande Import-CSV, modifier tes données, puis exporter ton tableau avec Export-CSV.
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Les utilisateur(s) suivant ont remercié: narwo
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.061 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les initiés
- Concatenation de 2 rapports (.txt et .csv)