Question
[Résolu] Import/Export Csv - gestion des colonnes
- 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 #6785
par magzz69
[Résolu] Import/Export Csv - gestion des colonnes a été créé par magzz69
Bonjour à tous,
Après de longs essais et recherches je poste ici.
Voilà, j'importe un fichier .Csv dans une variable et je souhaite par exemple n'exporter que la deuxieme colonne dans un autre fichier. Ma colonne a pour entête Marqueurs.
Voilà mon code qui ne marche pas
j'avoue que je bloque :
[code:1]Exemple :
$epo = import-csv -path \"c:\ExtractEPO.csv\"
Foreach ($line in $epo)
{
$epo2 = $epo2 + $line.Marqueurs
write-host $epo2
}
$epo2 | Export-csv -path \"c:\ExtractEPO2.csv\" -NoTypeInformation
[/code:1]<br><br>Message édité par: Arnaud, à: 12/05/10 21:08
Après de longs essais et recherches je poste ici.
Voilà, j'importe un fichier .Csv dans une variable et je souhaite par exemple n'exporter que la deuxieme colonne dans un autre fichier. Ma colonne a pour entête Marqueurs.
Voilà mon code qui ne marche pas
[code:1]Exemple :
$epo = import-csv -path \"c:\ExtractEPO.csv\"
Foreach ($line in $epo)
{
$epo2 = $epo2 + $line.Marqueurs
write-host $epo2
}
$epo2 | Export-csv -path \"c:\ExtractEPO2.csv\" -NoTypeInformation
[/code:1]<br><br>Message édité par: Arnaud, à: 12/05/10 21:08
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 #6786
par Arthur
Réponse de Arthur sur le sujet Re:Import/Export Csv - gestion des colonnes
Essai un truc du genre :
[code:1]
PS C:\> get-process | Export-Csv liste-process.csv
PS C:\> $process = Import-Csv .\Liste-process.csv
PS C:\> $process | select -Property Name | export-csv -path liste-procees-nom.csv
[/code:1]
Dans cet exemple on exporte la liste des processus dans un fichier csv puis ensuite on l'importe dans une variable.Et finalement on exporte la variable en ne sélectionnant que la colonne nom.
pour toi se serai un truc du genre :
[code:1]
$epo = import-csv -path \"c:\ExtractEPO.csv\"
$epo | select -Property Marqueurs| Export-csv -path \"c:\ExtractEPO2.csv\" -NoTypeInformation
[/code:1]
Si j'ai bien compris ton problème
[code:1]
PS C:\> get-process | Export-Csv liste-process.csv
PS C:\> $process = Import-Csv .\Liste-process.csv
PS C:\> $process | select -Property Name | export-csv -path liste-procees-nom.csv
[/code:1]
Dans cet exemple on exporte la liste des processus dans un fichier csv puis ensuite on l'importe dans une variable.Et finalement on exporte la variable en ne sélectionnant que la colonne nom.
pour toi se serai un truc du genre :
[code:1]
$epo = import-csv -path \"c:\ExtractEPO.csv\"
$epo | select -Property Marqueurs| Export-csv -path \"c:\ExtractEPO2.csv\" -NoTypeInformation
[/code:1]
Si j'ai bien compris ton problème
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 #6787
par magzz69
Réponse de magzz69 sur le sujet Re:Import/Export Csv - gestion des colonnes
Ok, ça marche super! merci 
Par contre dans mon fichier de départ ExtractEPO.csv j'ai une colonne \"Nom du Système\" mais quand je l'importe avec import-csv quand j'affiche la variable $epo ça me renvoie : ==> Nom du Syst?me
Alors pour ma commande
$epo | select -Property \"Nom du Syst?me\"| Export-csv -path \"c:\ExtractEPO2.csv\" -NoTypeInformation
Je suis obligé de mettre le \"?\" pour que ça marche...
Faudrait-il que je change l'encodage?<br><br>Message édité par: magzz69, à: 10/05/10 14:44
Par contre dans mon fichier de départ ExtractEPO.csv j'ai une colonne \"Nom du Système\" mais quand je l'importe avec import-csv quand j'affiche la variable $epo ça me renvoie : ==> Nom du Syst?me
Alors pour ma commande
$epo | select -Property \"Nom du Syst?me\"| Export-csv -path \"c:\ExtractEPO2.csv\" -NoTypeInformation
Je suis obligé de mettre le \"?\" pour que ça marche...
Faudrait-il que je change l'encodage?<br><br>Message édité par: magzz69, à: 10/05/10 14:44
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 #6788
par Arthur
Réponse de Arthur sur le sujet Re:Import/Export Csv - gestion des colonnes
Oui il faut que tu passe en UTF8 si je me trompe pas.
Mais je suis pas sur. ( un peut paumé dans tous ces formats)
<br><br>Message édité par: bilbao, à: 10/05/10 14:56
Mais je suis pas sur. ( un peut paumé dans tous ces formats)
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 #6789
par magzz69
Réponse de magzz69 sur le sujet Re:Import/Export Csv - gestion des colonnes
il faut que je change dans le import-csv?
car je vois pas le paramètre a changer. Merci de m'eclairer si tu sais
EDIT : J'ai trouvé une solution:
cat \"c:\Powershell\ExtractEPO.csv\" > \"c:\Powershell\ExtractEPOBis.csv\"
ça me le met bien en utf8 impec merci beaucoup.
Par contre une dernière chose! c'est que si je veux mettre la colonne \"marqueurs\" par exemple dans une variable j'ai fait : $epomarqueurs = $epo |select -Property Marqueurs
Mais là j'ai comme résultats:
@(Marqueurs=)@(Marqueurs=)@(Marqueurs=)@(Marqueurs=)@(Marqueurs=).... ETC<br><br>Message édité par: magzz69, à: 10/05/10 16:46
car je vois pas le paramètre a changer. Merci de m'eclairer si tu sais
EDIT : J'ai trouvé une solution:
cat \"c:\Powershell\ExtractEPO.csv\" > \"c:\Powershell\ExtractEPOBis.csv\"
ça me le met bien en utf8 impec merci beaucoup.
Par contre une dernière chose! c'est que si je veux mettre la colonne \"marqueurs\" par exemple dans une variable j'ai fait : $epomarqueurs = $epo |select -Property Marqueurs
Mais là j'ai comme résultats:
@(Marqueurs=)@(Marqueurs=)@(Marqueurs=)@(Marqueurs=)@(Marqueurs=).... ETC<br><br>Message édité par: magzz69, à: 10/05/10 16:46
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 15 ans 10 mois #6793
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 Re:Import/Export Csv - gestion des colonnes
Bonjour,
Attention aux formats pour éviter des problèmes avec les accents. Dans la mesure du possible enregistrez les fichiers CSV à importer en Unicode. Au besoin, réenregistrer votre fichier avec le Notepad.
Quant vous exportez au format CSV avec Export-csv n'oubliez pas de spécifier le paramètre -Encoding Unicode.
Pourquoi faire cela ? Tu trouveras ta propriété Marqueurs en tant que propriété de ton tableau $epomarqueurs et tu l'accèderas comme ceci, par exemple : $epomarqueurs[0].marqueurs
Arnaud
Attention aux formats pour éviter des problèmes avec les accents. Dans la mesure du possible enregistrez les fichiers CSV à importer en Unicode. Au besoin, réenregistrer votre fichier avec le Notepad.
Quant vous exportez au format CSV avec Export-csv n'oubliez pas de spécifier le paramètre -Encoding Unicode.
Par contre une dernière chose! c'est que si je veux mettre la colonne \"marqueurs\" par exemple dans une variable j'ai fait :
$epomarqueurs = $epo |select -Property Marqueurs
Pourquoi faire cela ? Tu trouveras ta propriété Marqueurs en tant que propriété de ton tableau $epomarqueurs et tu l'accèderas comme ceci, par exemple : $epomarqueurs[0].marqueurs
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 ?
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.098 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] Import/Export Csv - gestion des colonnes