Question
[Résolu] Suppression de ligne dans CSV
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 11 ans 2 mois #19274
par Philippe
Réponse de Philippe sur le sujet Re:Suppression de ligne dans CSV
salut Tibo54
le retour est un peu long
l'erreur est normal puisque quand tu a vidé ton tableau $configs la variable vaut null. Elle ne peut donc pas être enregistré avec export-csv
il te faut faire un if sur $configs pour ne pas enregistré un tableau vide
[code:1]if ($configs) {
$configs | Export-Csv -Path \"C:chemin.csv\" -Delimiter \";\"
}
[/code:1]mais dans ce cas il reste une ligne dans le fichier.
si tu veux enlevé cette ligne
deux solution :
- soit recopier un fichier vide avec entête à la place
- soit écrire un dernier enregistrement vide :
ex :
[code:1]$configs = Import-Csv -Path \"C:chemi,.csv\" -Delimiter \";\"
$copyconfigs = $configs
foreach($users in $configs) {
#
# traitement
#
if ($copyconfigs.count -eq $null) {
# si c'est le dernier utilisateur on vide la dernière ligne à enregistré
$copyconfigs.service = \"\"
$copyconfigs.lieu = \"\"
$copyconfigs.date = \"\"
$copyconfigs.mail = \"\"
}
else {
# on enlève cet utilisateur du fichier
$copyconfigs = $copyconfigs | Where-Object { $_.mail -ne \"$mail\"}
}
$copyconfigs | Export-Csv -Path \"C:chemin.csv\" -Delimiter \";\"
}
[/code:1]
le retour est un peu long
l'erreur est normal puisque quand tu a vidé ton tableau $configs la variable vaut null. Elle ne peut donc pas être enregistré avec export-csv
il te faut faire un if sur $configs pour ne pas enregistré un tableau vide
[code:1]if ($configs) {
$configs | Export-Csv -Path \"C:chemin.csv\" -Delimiter \";\"
}
[/code:1]mais dans ce cas il reste une ligne dans le fichier.
si tu veux enlevé cette ligne
deux solution :
- soit recopier un fichier vide avec entête à la place
- soit écrire un dernier enregistrement vide :
ex :
[code:1]$configs = Import-Csv -Path \"C:chemi,.csv\" -Delimiter \";\"
$copyconfigs = $configs
foreach($users in $configs) {
#
# traitement
#
if ($copyconfigs.count -eq $null) {
# si c'est le dernier utilisateur on vide la dernière ligne à enregistré
$copyconfigs.service = \"\"
$copyconfigs.lieu = \"\"
$copyconfigs.date = \"\"
$copyconfigs.mail = \"\"
}
else {
# on enlève cet utilisateur du fichier
$copyconfigs = $copyconfigs | Where-Object { $_.mail -ne \"$mail\"}
}
$copyconfigs | Export-Csv -Path \"C:chemin.csv\" -Delimiter \";\"
}
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- zaerazerazer
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 49
- Remerciements reçus 0
il y a 11 ans 2 mois #19275
par zaerazerazer
En cours de découverte du GraalPowershell !
Réponse de zaerazerazer sur le sujet Re:Suppression de ligne dans CSV
bonjour 6ratgus,
j'ai finalement choisis de recréer le fichier, en y mettant l'en-tête, à la fin du script.
Merci pour tout tes conseils,
bonne journée
j'ai finalement choisis de recréer le fichier, en y mettant l'en-tête, à la fin du script.
Merci pour tout tes conseils,
bonne journée
En cours de découverte du GraalPowershell !
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 11 ans 2 mois #19276
par Philippe
Réponse de Philippe sur le sujet Re:Suppression de ligne dans CSV
c'est aussi une solution !j'ai finalement choisis de recréer le fichier, en y mettant l'en-tête, à la fin du script.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.036 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] Suppression de ligne dans CSV