Question
[Résolu] Import/Export Csv - gestion des colonnes
- Arthur
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 226
- Remerciements reçus 0
il y a 15 ans 10 mois #6820
par Arthur
Réponse de Arthur sur le sujet Re:Import/Export Csv - gestion des colonnes
Du coup ca marche?
Connexion ou Créer un compte pour participer à la conversation.
- magzz69
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 18
- Remerciements reçus 0
il y a 15 ans 10 mois #6821
par magzz69
Réponse de magzz69 sur le sujet Re:Import/Export Csv - gestion des colonnes
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Arthur
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 226
- Remerciements reçus 0
il y a 15 ans 10 mois #6822
par Arthur
Réponse de Arthur sur le sujet Re:Import/Export Csv - gestion des colonnes
Pour mon get-process j'ai fait comme ca :
[code:1]
$process = Get-Process
$proc1 = $process | select -Property ProcessName,Id
$proc2 = $process | select -Property CPU,Id
$d1 | export-csv Data1.csv
$d2 | export-csv Data2.csv
[/code:1]
ensuite j'ai lancé le script dans le script j'ai mis :
[code:1]
$d1 = ipcsv Data1.csv
$d2 = ipcsv Data2.csv
$new = $( foreach($d in $d2)
{
$t = $d1 | Where-Object {$_.Id -eq $d.Id }
$t1 = $d | select *
foreach ($p in Get-Member -InputObject $t -MemberType NoteProperty)
{
Add-Member -InputObject $t1 -MemberType NoteProperty -Name $p.Name -Value $t.$($p.Name) -Force
$t.$($p.Name) = $t1.$($p.Name)
}
$t1
}
)
$new | Export-Csv merged.csv
[/code:1]
Et finalement j'ai fait un import-csv sur merged.csv et ca marche nickel
[code:1]
$process = Get-Process
$proc1 = $process | select -Property ProcessName,Id
$proc2 = $process | select -Property CPU,Id
$d1 | export-csv Data1.csv
$d2 | export-csv Data2.csv
[/code:1]
ensuite j'ai lancé le script dans le script j'ai mis :
[code:1]
$d1 = ipcsv Data1.csv
$d2 = ipcsv Data2.csv
$new = $( foreach($d in $d2)
{
$t = $d1 | Where-Object {$_.Id -eq $d.Id }
$t1 = $d | select *
foreach ($p in Get-Member -InputObject $t -MemberType NoteProperty)
{
Add-Member -InputObject $t1 -MemberType NoteProperty -Name $p.Name -Value $t.$($p.Name) -Force
$t.$($p.Name) = $t1.$($p.Name)
}
$t1
}
)
$new | Export-Csv merged.csv
[/code:1]
Et finalement j'ai fait un import-csv sur merged.csv et ca marche nickel
Connexion ou Créer un compte pour participer à la conversation.
- magzz69
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 18
- Remerciements reçus 0
il y a 15 ans 10 mois #6823
par magzz69
Réponse de magzz69 sur le sujet Re:Import/Export Csv - gestion des colonnes
Voilà mon code qui présente l'erreur : (par rapport au tient il m'a l'air bon...
)
[code:1]
$epo1 = ipcsv c:\Powershell\ExtractEPOUtf.csv.csv
$epo2 = ipcsv c:\Powershell\ExtractGLPIUtf.csv
$new = $( foreach($epo2bis in $epo2)
{
$t = $epo1 | Where-Object {$_.\"Nom du système\" -eq $epo2bis.Nom }
$t1 = $epo2bis | select *
foreach ($p in Get-Member -InputObject $t -MemberType NoteProperty)
{
Add-Member -InputObject $t1 -MemberType NoteProperty -Name $p.Name -Value $t.$($p.Name) -Force
$t.$($p.Name) = $t1.$($p.Name)
}
$t1
}
)
$new | Export-Csv c:\powershell\merged.csv
[/code:1]
[code:1]
$epo1 = ipcsv c:\Powershell\ExtractEPOUtf.csv.csv
$epo2 = ipcsv c:\Powershell\ExtractGLPIUtf.csv
$new = $( foreach($epo2bis in $epo2)
{
$t = $epo1 | Where-Object {$_.\"Nom du système\" -eq $epo2bis.Nom }
$t1 = $epo2bis | select *
foreach ($p in Get-Member -InputObject $t -MemberType NoteProperty)
{
Add-Member -InputObject $t1 -MemberType NoteProperty -Name $p.Name -Value $t.$($p.Name) -Force
$t.$($p.Name) = $t1.$($p.Name)
}
$t1
}
)
$new | Export-Csv c:\powershell\merged.csv
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Arthur
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 226
- Remerciements reçus 0
il y a 15 ans 10 mois #6824
par Arthur
Réponse de Arthur sur le sujet Re:Import/Export Csv - gestion des colonnes
je pense que le problème vient de :
[code:1]$t = $epo1 | Where-Object {$_.\"Nom du système\" -eq $epo2bis.Nom }[/code:1]
Soit le problème vient des espaces de \"Nom du système\" soit il ne trouve pas de correspondances et du coup $t est égale à null
EDIT :
test:
[code:1]
$epo1 = ipcsv c:\Powershell\ExtractEPOUtf.csv.csv
$epo2 = ipcsv c:\Powershell\ExtractGLPIUtf.csv
foreach($epo2bis in $epo2) {
$t = $epo1 | Where-Object {$_.\"Nom du système\" -eq $epo2bis.Nom }
}
write-host $t
[/code:1]
sinon le \"ExtractEPOUtf.csv.csv\" c'est normal?
Message édité par: bilbao, à: 11/05/10 16:48<br><br>Message édité par: bilbao, à: 11/05/10 16:49
[code:1]$t = $epo1 | Where-Object {$_.\"Nom du système\" -eq $epo2bis.Nom }[/code:1]
Soit le problème vient des espaces de \"Nom du système\" soit il ne trouve pas de correspondances et du coup $t est égale à null
EDIT :
test:
[code:1]
$epo1 = ipcsv c:\Powershell\ExtractEPOUtf.csv.csv
$epo2 = ipcsv c:\Powershell\ExtractGLPIUtf.csv
foreach($epo2bis in $epo2) {
$t = $epo1 | Where-Object {$_.\"Nom du système\" -eq $epo2bis.Nom }
}
write-host $t
[/code:1]
sinon le \"ExtractEPOUtf.csv.csv\" c'est normal?
Message édité par: bilbao, à: 11/05/10 16:48<br><br>Message édité par: bilbao, à: 11/05/10 16:49
Connexion ou Créer un compte pour participer à la conversation.
- magzz69
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 18
- Remerciements reçus 0
il y a 15 ans 10 mois #6825
par magzz69
Réponse de magzz69 sur le sujet Re:Import/Export Csv - gestion des colonnes
Alors le problème vient bien de là tu as raison 
En fait c'est pas les espaces c'est le $_. qu'il n'aime pas
Car juste pour testé j'ai fait:
[code:1]$new = $( foreach($epo2bis in $epo2)
{
foreach($epo1bis in $epo1){
write-host $epo1bis.\"Nom du système\"
$t = $epo1 | Where-Object {$_.\"Nom du système\" -eq $epo2bis.Nom }
$t1 = $epo2bis | select *
}[/code:1]
Et là il m'affiche bien les $epo1bis.\"Nom du système\"
EDIT : ouai le nom est normal
<br><br>Message édité par: magzz69, à: 11/05/10 16:55
En fait c'est pas les espaces c'est le $_. qu'il n'aime pas
Car juste pour testé j'ai fait:
[code:1]$new = $( foreach($epo2bis in $epo2)
{
foreach($epo1bis in $epo1){
write-host $epo1bis.\"Nom du système\"
$t = $epo1 | Where-Object {$_.\"Nom du système\" -eq $epo2bis.Nom }
$t1 = $epo2bis | select *
}[/code:1]
Et là il m'affiche bien les $epo1bis.\"Nom du système\"
EDIT : ouai le nom est normal
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.107 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] Import/Export Csv - gestion des colonnes