Question Exporter un tableau a plusieurs dimensions en CSV

Plus d'informations
il y a 12 ans 7 mois #15692 par Matthew BETTON
sp973 écrit:

mon tableau $global:tlConcatTab (System.Object.Hashtable)


Désolé, je n'avais pas lu la suite...

$tlConcatTab est un tableau de hash tables .

Une autre solution (basée sur mes exemples précédents) :

[code:1]
$tlConcatTab = @()
$tlConcatTab += @{2=\"192.168.40.23\", \"5500\", \"SWE13\"}
$tlConcatTab += @{1=\"192.168.40.22\", \"5500\", \"SWE12\"}
$tlConcatTab += @{0=\"192.168.40.21\", \"5500\", \"SWE11\"}

$tlConcatTab |
Foreach-Object{ New-Object PSObject -Property @{ Name = \"$($_.Keys)\" ; Value = \"$($_.values)\"} }|
Select-Object Name, Value |
Export-Csv -Path D:\Test.csv -Delimiter \";\" -NoTypeInformation -Encoding UTF8

Invoke-Item D:\Test.csv
[/code:1]

Ou, pour obtenir le même résultat que dans mon précédent post :

[code:1]$tlConcatTab = @()
$tlConcatTab += @{2=\"192.168.40.23\", \"5500\", \"SWE13\"}
$tlConcatTab += @{1=\"192.168.40.22\", \"5500\", \"SWE12\"}
$tlConcatTab += @{0=\"192.168.40.21\", \"5500\", \"SWE11\"}

$tlConcatTab |
Foreach-Object{ New-Object PSObject -Property @{ Name = \"$($_.Keys)\" ; Value = \"$($_.values)\" -replace \" \",\"`n\"} }|
Select-Object Name, Value |
Export-Csv -Path D:\Test.csv -Delimiter \";\" -NoTypeInformation -Encoding UTF8

Invoke-Item D:\Test.csv[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 6 mois #15715 par SP
Bonjour Matthew,

J'ai essayé les deux codes et il me retourne :

Pour le 1er

\"Name\";\"Value\"
\"5 4 3 2 1 0\";\"System.Object[]
System.Object[]
System.Object[]
System.Object[]
System.Object[]
System.Object[]\"


Pour le 2eme

\"Name\";\"Value\"
\"5 4 3 2 1 0\";\"System.Object[] System.Object[] System.Object[] System.Object[] System.Object[] System.Object[]\"

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 6 mois #15716 par Matthew BETTON
Si tu tests ce code (et exactement ce code), cela fonctionne :

[code:1]
$tlConcatTab = @()
$tlConcatTab += @{2=\"192.168.40.23\", \"5500\", \"SWE13\"}
$tlConcatTab += @{1=\"192.168.40.22\", \"5500\", \"SWE12\"}
$tlConcatTab += @{0=\"192.168.40.21\", \"5500\", \"SWE11\"}

$tlConcatTab |
Foreach-Object{ New-Object PSObject -Property @{ Name = \"$($_.Keys)\" ; Value = \"$($_.values)\" -replace \" \",\"`n\"} }|
Select-Object Name, Value |
Export-Csv -Path D:\Test.csv -Delimiter \";\" -NoTypeInformation -Encoding UTF8

Invoke-Item D:\Test.csv
[/code:1]

Le résultat :

[code:1]
\"Name\";\"Value\"
\"2\";\"192.168.40.23
5500
SWE13\"
\"1\";\"192.168.40.22
5500
SWE12\"
\"0\";\"192.168.40.21
5500
SWE11\"
[/code:1]

Le contenu de $tlConcatTab :

[code:1]
PS > $tlConcatTab

Name Value
----
2 {192.168.40.23, 5500, SWE13}
1 {192.168.40.22, 5500, SWE12}
0 {192.168.40.21, 5500, SWE11}

[/code:1]

Cela ne fonctionne pas pour toi parce que l'objet contenu dans la propriété de $tlConcatTab n'est pas au même format que l'objet que j'ai créé pour mes tests et exemples.

Il faut que tu adaptes le code en fonction de ce que contient $tlConcatTab.

A priori, ton précédent poste 'Le contenu de $tlConcatTab' ne me permet pas de t'aider plus en avant. Je ne sais pas comment tu l'as obtenu ... Il manque une ou plusieurs informations.

@ +

Matthew BETTON<br><br>Message édité par: Matthew BETTON, à: 24/08/13 14:13

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.043 secondes
Propulsé par Kunena